1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "С и С++", создана пользователем ESWANT, 27 июл 2007.

Статус темы:
Закрыта.
  1. ESWANT

    ESWANT Гость

    Репутация:
    0
    Имеется текстовый файл. Вот так он открывается блокнотом (смотри в прикрепленной картинке)
    Там в середине красной стрелочкой отмечен символ конца строки 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 ТОЛЬКО ДО ЭТОГО СИМВОЛА
    ПОМОГИТЕ. ЭТО КАК ТО ОЧЕНЬ ПРОСТО ДОЛЖНО ДЕЛАТЬСЯ
     

    Вложения:

    • ____.bmp
      Размер файла:
      4,8 КБ
      Просмотров:
      52
  2. mms

    mms Гость

    Репутация:
    0
    Вроде как 0x0d - это не '\n' перевод каретки на новую строку, а '\r' - возврат коретки к началу строки. Если надо скопировать только до 0x0d - то вместо '\n' поставить '\r'.

    inFile.get(dstr,_MAX_FILE_STRING,'\r');
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей