WinAPI CIniFile :: ReadFile () не может прочитать INI-файл - PullRequest
0 голосов
/ 02 июня 2010

IDE: VS2005

Есть ли способ узнать, почему не удалось выполнить ReadFile ()? Я не могу найти причину, по которой некоторые из INI не могут быть прочитаны. Спасибо.

EDIT:

CIniFile iniFile;
iniFile.SetPath( "C:\\Services\\Server\\Server.INI" );
if( iniFile.ReadFile())
    my code...

Программа никогда не попадает в блок if.

И, простите за путаницу. Я использую эту библиотеку для класса CIniFile. Надеюсь, что эта информация поможет точно определить проблему. http://www.codeproject.com/kb/cpp/cinifileByCabadam.aspx

РЕДАКТИРОВАТЬ2: Я нашел причину, это потому, что некоторые из файлов INI сохраняются как Unicode И именно поэтому ReadFile () не работает. Но теперь вопрос в том, как читать ini-файлы Unicode.

1 Ответ

1 голос
/ 02 июня 2010

Обычно GetLastError () должен выдавать номер ошибки для поиска

РЕДАКТИРОВАТЬ: В проекте CIniFile, кажется, нет конструктора по умолчанию, попробуйте вместо этого CIniFile (строка const iniPath), т.е.

CIniFile iniFile( "C:\\Services\\Server\\Server.INI" );
if( iniFile.ReadFile())

EDIT2: ОК, вам нужно изменить код, чтобы вместо использования fstream использовать wfstream - см.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...