Re[6]: проблема с std::ifstream::open
От: _hum_ Беларусь  
Дата: 30.09.16 20:10
Оценка:
Здравствуйте, uzhas, Вы писали:

U>Здравствуйте, _hum_, Вы писали:


__>>ну, как бы это считается переносимостью (ибо для юниса придется компилировать для юникса)


U>в юниксах не используют wchar_t, используют char* в UTF-8 формате


вот же гадство.. а я всюду старался с wstring работать, а оно, оказывается:

"The width of wchar_t is compiler-specific and can be as small as 8 bits. Consequently, programs that need to be portable across any C or C++ compiler should not use wchar_t for storing Unicode text. The wchar_t type is intended for storing compiler-defined wide characters, which may be Unicode characters in some compilers."


__>>в каком смысле "есть только на винде"? и, кстаи, что-то я в доках вообще не нахожу этой функции: cplusplus.com/ifstream::open


U>я же говорю, что есть только в visual studio. читай msdn


нее, wchar_t есть в стандарте, поэтому не совсем понятно, почему в стандарте нет open(wchar_t*) [конечно, оно выглядит кривовато, но весь wchar_t, как оказалось, сам такой, а потому, если уж поддерживаете в одном месте, то почему не поддерживаете в другом]

а еще непонятно, почему не сделают open(char_t* filename) с явным указанием кодировки filename, чтобы функция сама уже там внутри конвертила к нужной файловой системе кодировке, не утруждая программиста заниматься этими техническими деталями
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.