fread вопрос
От: Аноним  
Дата: 04.06.08 17:41
Оценка:
читаю содержимое файла в буфер


    FILE *fs = _wfopen(L"filename", L"r");
    fseek(fs, 0, SEEK_END);
    fgetpos(fs, &pos);
    fseek(fs, 0, SEEK_SET);

    pMsg = new WCHAR[(DWORD) pos+2];
    wmemset(pMsg, 0, (DWORD) pos + 2);
    fread(pMsg, sizeof(WCHAR), (DWORD) pos, fs);


в pMsg оказывается строка CHAR а не WCHAR
что не правильно ?
Re: fread вопрос
От: -MyXa- Россия  
Дата: 04.06.08 18:13
Оценка:
Здравствуйте, Аноним, Вы писали:

The fopen function opens the file specified by filename. _wfopen is a wide-character version of fopen; the arguments to _wfopen are wide-character strings. _wfopen and fopen behave identically otherwise. Simply using _wfopen has no effect on the coded character set used in the file stream.
Если не поможет, будем действовать током... 600 Вольт (C)
Re: fread вопрос
От: Аноним  
Дата: 04.06.08 19:57
Оценка:
Дык что было в файле то и стало в pMsg. Если в файле была одна последовательность байт, с чего бы fread'у вычитать другую?
Re: fread вопрос
От: K13 http://akvis.com
Дата: 05.06.08 04:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>читаю содержимое файла в буфер



А>
А>    FILE *fs = _wfopen(L"filename", L"r");
А>


всего лишь для использования имени файла в уникоде.
Бывает необходимо например для файлов с умляутами на русской винде.

А>в pMsg оказывается строка CHAR а не WCHAR

А>что не правильно ?

А содержимое обрабатывать надо отдельно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.