mingw fstream unicode путь
От: Ruzzz  
Дата: 07.03.17 00:04
Оценка:
Путь как wchar_t* не понимает. Utf8 для char* не использует. А как быть? Никак?
Может какой ключ для g++ нужен или версия mingw?
Гугл помог только найти совет использовать _wfopen().
Re: mingw fstream unicode путь
От: MT-Wizard Украина  
Дата: 15.03.17 04:49
Оценка: 16 (1)
Здравствуйте, 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й строке
А ти, москалику, вже приїхав (с)
Re: mingw fstream unicode путь
От: niXman Ниоткуда https://github.com/niXman
Дата: 18.03.17 08:42
Оценка:
Здравствуйте, Ruzzz, Вы писали:

пока — никак.

при использовании 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 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 18.03.2017 9:07 niXman . Предыдущая версия .
Re[2]: mingw fstream unicode путь
От: Ruzzz  
Дата: 22.09.17 11:06
Оценка:
Здравствуйте, 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`ами — забыл. но проверю.

Подскажите когда будет?
Re[3]: mingw fstream unicode путь
От: niXman Ниоткуда https://github.com/niXman
Дата: 22.09.17 11:35
Оценка:
Здравствуйте, Ruzzz, Вы писали:

R>Подскажите когда будет?


поддержки std::filesystem::path для fstream`ов до сих пор нет даже в транке GCC, хотя заявлена в C++17...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.