Prince, 29, becomes South Africa's first black Test captain.
He made his debut against Australia in Johannesburg in 2001-02 and he has played 21 Tests, scoring 1,089 runs at an average of 37.55.
"The most important thing will be to get the best out of the guys (in Sri Lanka) and to get them to perform in those conditions," Prince told Reuters on Tuesday.
"The conditions will be very different to what we're used to with the humidity and the heat."
Prince established himself in 2004-05
He cemented his place in the side with a gritty 119 against Australia in Sydney in January.
Jacques Rudolph, omitted from the squad after scoring just 125 runs in six innings against Australia in March, will replace Smith who tore ankle ligaments while running on Saturday.
The South Africans will also be without premier all rounder Jacques Kallis, who is recovering from elbow surgery.
The first of two Tests between Sri Lanka and South Africa start on July 27. India will be the third team in a one-day triangular tournament that ends on August 29.
Indian team to be named on July 22
Rediff Test Rankings: India maintain third place
Schedule: India and South Africa in Sri Lanka
First Look: Tendulkar at Wimbledon
Tendulkar shines in charity match