Название: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: zverek от Февраль 16, 2011, 22:13 помогите разобраться с функцией SetCurrentDirectory.
Код: bool setCurDir(char *buf) { когда в buf путь состоит из англ букв, все работает отлично. Но если там кирилица то функция возврощает false Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: Пантер от Февраль 16, 2011, 22:28 Что передаешь в setCurDir?
Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: zverek от Февраль 16, 2011, 22:45 путь к каталогу.
Например: buf = "D 0 : 0 \ 0 s 0 o 0 f 0 t 0 0 0" вообщем такой смысол "D:\soft". Это все работает отлично, но если передаю "D:\музыка" то это уже не работает Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: BRE от Февраль 16, 2011, 22:48 Я так понимаю, что эта функция ожидает unicode-строку.
А в какой кодировке передается "D:\музыка"? Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: zverek от Февраль 16, 2011, 23:06 Возможно не правильно перевожу строку.
вообщем в клиенте так: Код: recv(sock, buf, sizeof(buf), 0); Код: bool setCurDir(char *buf) { на сервере: Код: QString str = "D:\музыка"; Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: Пантер от Февраль 16, 2011, 23:22 В какой кодировке исходники сервера?
Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: zverek от Февраль 16, 2011, 23:28 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("CP1251"));
в настройках проекта не какие изменения не вносил. Проект создан по умолчанию Visual Studio 2008. Юникод включен в настройках Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: Пантер от Февраль 16, 2011, 23:32 Как то нехорошо строку преобразуешь...
QByteArray QString::toUtf8 () const глянь. Название: Re: WinAPI выбор текущего каталога SetCurrentDirectory Отправлено: zverek от Февраль 17, 2011, 22:43 Спасибо всем. Я решил свою проблему так
Код: QString str = "D:\музыка"; На клиенте нече не изменял) |