Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
важно разделять те кодировки с которыми может работать конкретная платформа и те которые приезжают нам извне. вообще то для всей системы стоит держать одну внутреннюю котировку например utf-8
int ds = open( "file.dat", O_CREAT|O_APPEND, S_IREAD|S_IWRITE);
int wr = 0;
while( size >0 && (wr = write( ds, pdata, size )) >= 0 )
size -= wr;
close(ds);
То есть, читаем путь в std::wstring, используя соответствующим образом локализованный поток, а при использовании, сужаем по пользовательской локализации. Эта идея основана на том, что раз пользователь правильно видит символы своего языка в консоли, то его пользовательская локализация знает в какую кодировку надо сузить широкую строку, чтобы правильно интерпретировать путь.
И да, консоль их показывать не умеет
Пути к файлам