I am a Canadian travelling to South Africa for two weeks. My flights, rental car and hotels are pre-paid. Obviously I'll want to have some money to spend on food, entertainment and unforeseen costs while I'm there.
My question is, how much cash should I bring? Carrying cash around is a bad idea but my limited experience is that travelers cheques are a pain to get cashed and are not accepted anywhere other than banks.
Will my mastercard (issued by a Canadian bank) serve me well? I understand that it should work at ATMs, but will it be accepted at stores, gas stations and restaurants?