Здравствуйте, 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, чтобы функция сама уже там внутри конвертила к нужной файловой системе кодировке, не утруждая программиста заниматься этими техническими деталями