Devi usare stringhe in formato UNICODE.
In pratica, per il C++ (NON per il C) devi usare stringe che usano wchar_t e NON char.
UTF8 e' una POSSIBILE rappresentazione dell'UNICODE su file.
Ma se non hai mai affrontato i problemi legati all'utilizzo di encoding particolari, attento, perche' stai per entrare in un mondo abbastanza ostico: tenere sotto controllo tutte le situazioni in cui ti devi assicurare di usare l'encoding corretto (o la corretta conversione) non e' facilissimo.
CI sono n-mila dettagli subdoli di cui dovrai tenere conto:
1) enoding del file
2) encoding dell'editor di testo
3) encoding dell'IDE usato per programmare
4) encoding standard del S.O. che stai usando
5) encoding della console
6) ecc ...