Считывание строк из потока

  • Автор темы ESWANT
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

ESWANT

#1
Имеется текстовый файл. Вот так он открывается блокнотом (смотри в прикрепленной картинке)
Там в середине красной стрелочкой отмечен символ конца строки 0x0D
Eсли копировать содержимое из блокнота в ворд то строки делятся по этому символу

Я читаю строки из этого файла таким образом:
strcpy(dstr,"\0");
inFile.get(dstr,_MAX_FILE_STRING,'\n');//считать строку из файла в dstr до \n
if (!inFile) return -1;
inFile.get();//извлеку \n

тоесть если строка разделяется двумя символами 0x0D 0x0A или 0x0A то ВСЕ ПОЛУЧАЕТСЯ
а если строка разделена только 0x0D то inFile.get просто не "видит" этого символа
И в dstr попадает ВСЕ и то что после этого символа, пока не закончится буфер dstr

КАК СКОПИРОВАТЬ В dstr ТОЛЬКО ДО ЭТОГО СИМВОЛА
ПОМОГИТЕ. ЭТО КАК ТО ОЧЕНЬ ПРОСТО ДОЛЖНО ДЕЛАТЬСЯ
 

Вложения

  • 4.8 КБ Просмотры: 52
M
#2
Вроде как 0x0d - это не '\n' перевод каретки на новую строку, а '\r' - возврат коретки к началу строки. Если надо скопировать только до 0x0d - то вместо '\n' поставить '\r'.

inFile.get(dstr,_MAX_FILE_STRING,'\r');
 
Статус
Закрыто для дальнейших ответов.