открываю файл и пытаюсь добавить в его конец новую запись… если строка содержит символы латиницы – все нормально. если в строке встречается символ кирилицы – запись прерывается, не создавая никакой исключительной ситуации.
CStdioFile file(DBase,CFile::modeNoTruncate | CFile::modeReadWrite | CFile::typeBinary);
file.SeekToEnd();
file.WriteString(str);
подскажитев чем ошибка?
6 мая 2009 в 8:02
CR LF, даже думать не надо.
5 мая 2009 в 23:04
благодарю))))))))))
5 мая 2009 в 23:04
делал \n, \n\r, но не додумался до \r\n…
5 мая 2009 в 23:03
а может все-таки \r\n?
5 мая 2009 в 23:00
я задаю массив чаров со строкой в который ключаю символы перехода, вроде \n
при этом в файле переход на новую строку не происходит. гдето читал что,WriteFile() не осуществляет форматированный вывод.
какой тогда функцией писать в файл с переходом на новые строки?
5 мая 2009 в 22:05
> как с помощью WinAPI писать форматированный текст в файлы?(с переходом на новую строку и тд.)
> WriteFile() пишет без форматирования, другого выхода пока не нашел, может ктото знает…
может быть просто писать символы перехода на новую строку самостоятельно?
5 мая 2009 в 22:04
Насколько я помню ты свой проект адаптировал для чтенияASCII?
Какого типа str? Насколько я помню в WriteString параметр типа LPCSTR если str – CString, то может не выдавать ошибки, но при конвертировании на русских символах может выпадать 0 и ф-я думает, что конец строки.
попробуй использовать потоки. пример -
//www.rsdn.ru/Forum/message/1854733.flat.aspx
отпишись о результате
5 мая 2009 в 22:00
использую MFC, а как записать юникодовскую строку в файл?
5 мая 2009 в 22:00
похожий вопрос, как с помощью WinAPI писать форматированный текст в файлы?(с переходом на новую строку и тд.)
WriteFile() пишет без форматирования, другого выхода пока не нашел, может ктото знает…
5 мая 2009 в 17:04
1. В MFC?
2. В кодировке str, и типе параметра который принимает CStdioFile::WriteString? Если вы имеете юникодовскую строку и функцию которая бежит по мультибайтовской строке, то функция наткнётя на нуль щедро расставленный в юникодовских строках и решит что строка кончилась. Посмотрите дебагерром на str – если туда запихали юникодовскую строку, то там нули через один будут понатыканы.