Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > WriteString и русские быквы


Автор: shuttle 5.6.2009, 07:42
WriteString не пишет в файл руские буквы(кирилицу). При просмотре файла этих строк просто нет. 
Выключение в проекте UNICODE (General->Character Set), не канает - в других местах появляется много ошибок.

Автор: Andrey44 5.6.2009, 08:27
shuttle, ну хотя-бы покажите как пишите.

Автор: shuttle 5.6.2009, 10:38
Код

CStdioFile File(L"e:\\konv\\kl_to_1c.txt",CFile::modeCreate|CFile::modeReadWrite);

File.WriteString(L"1CClientBankExchange\n");
File.WriteString(L"Номер");


первая строка заносится в файл, а второй нет

Автор: azesmcar 5.6.2009, 10:47
shuttle

Наверное забыл закрыть файл.
Код

File.Close();

еще как вариант
Код

File.Flush();

хотя по идее думаю он при закрытии должен был вызвать.

Автор: shuttle 5.6.2009, 11:04
файл закрываю. 

Код

File.Flush();


добавил - никакого эффекта

Автор: Andrey44 5.6.2009, 11:43
shuttle, а если поменять местами?
Код

File.WriteString(L"Номер");
File.WriteString(L"1CClientBankExchange\n");

Автор: shuttle 5.6.2009, 11:52
Написал наоборот, никакого эффекта.

Автор: Andrey44 5.6.2009, 12:28
Цитата(shuttle @  5.6.2009,  11:52 Найти цитируемый пост)
Написал наоборот, никакого эффекта. 

Никакого эффекта - это что? Что записалось?

Автор: azesmcar 5.6.2009, 12:48
shuttle

Код

TCHAR string[] = _T("что-то");
File.Write(string, wcslen(string) * sizeof(TCHAR));


У WriteString проблемы с юникодом.

Добавлено @ 12:49
http://www.codeproject.com/KB/files/stdiofileex.aspx
вот тут класс написали CStdioFileEx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)