![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Ivan1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.8.2007 Репутация: нет Всего: нет |
Здравствуйте.Часть кода с функцией opendir:
Если открывать директорию с именем на русском языке, то выдается ошибка. Если переименовать эту директорию на английском языке или цифрами и еще раз попробовать открыть, то ошибки нет. Подскажите как решить эту проблему?Зарание спасибо. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Какая ОС и какая кодировка символов с строке 'на русском языке'? Если Window, то кодировка должна совпадать с текущей локалью системы (cp1251 скорее всего), для Linux - UTF-8 (IMHO)
|
|||
|
||||
Ivan1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.8.2007 Репутация: нет Всего: нет |
ОС:Windows XP Среда разработки:Dev-C++ Текущую локаль системы не знаю. Как узнать текущую локаль системы и как поменять кодировку? Это сообщение отредактировал(а) Ivan1 - 26.6.2014, 12:21 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Если у вас русская windows, то локаль системы - cp1251. Смотрите функции MultiByteToWideChar и WideCharToMultiByte А лучше сразу переходите на Unicode и/или родные Windows функции (FindFirstFile, FindNextFile, FindClose) |
|||
|
||||
Ivan1 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.8.2007 Репутация: нет Всего: нет |
Спасибо.Посмотрю.)
А как перейти на Unicode? |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
В настройках проекта (прямо на первой странице) ставите 'Character Set' в 'Use Unicode character set' (это если у вас английская версия студии). Но учтите, что и в самой программе вам придется это предусмотреть - все вызовы Win32 API теперь будут принимать строки не в виде char*, а в виде wchar_t* |
|||
|
||||
EgoBrain |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Готовься к тому что скорее всего ты г*вна не оберешься от этого перехода, и будешь недобро вспоминать xvr Советую вначале прочеть небольшую статейку рассвого жида Джоеля Спольски, ксатит и название статии как бы намекает: Абсолютный Минимум, который Каждый Разработчик Программного Обеспечения Обязательно Должен Знать о Unicode и Наборах Символов |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |