Путь как wchar_t* не понимает. Utf8 для char* не использует. А как быть? Никак?
Может какой ключ для g++ нужен или версия mingw?
Гугл помог только найти совет использовать _wfopen().
Здравствуйте, Ruzzz, Вы писали:
R>Путь как wchar_t* не понимает. Utf8 для char* не использует. А как быть? Никак? R>Может какой ключ для g++ нужен или версия mingw? R>Гугл помог только найти совет использовать _wfopen().
Mingw поддерживает weak symbols — символы, которые можно подменить на свои при линковке. Практически вся стандартная библиотека С там как раз "слабая", так что если написать свою версию функции open()/fopen() которая интерпретирует параметр как utf8, то можно ею подменить стандартную. Мы так сделали в эмуляторе — https://android-review.googlesource.com/#/c/204116/2/android/utils/file_io.cpp комментарий на 111й строке
при использовании std::filesystem(который нынче experimental) конструктор fstream`ов принимает std::filesystem::path, который на венде вайд-чаровский.
что-то типа:
std::filesystem::path p = L"dir/file.txt";
std::ifstream is(p);
вот только один момент...
поддержку std::filesystem для венды я-то запилил, а вот проверить поддержку fstream`ами — забыл. но проверю.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, Ruzzz, Вы писали:
X>пока — никак.
X>при использовании std::filesystem(который нынче experimental) конструктор fstream`ов принимает std::filesystem::path, который на венде вайд-чаровский. X>что-то типа: X>
X>std::filesystem::path p = L"dir/file.txt";
X>std::ifstream is(p);
X>
X>вот только один момент... X>поддержку std::filesystem для венды я-то запилил, а вот проверить поддержку fstream`ами — забыл. но проверю.