• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

ESWANT

Имеется текстовый файл. Вот так он открывается блокнотом (смотри в прикрепленной картинке)
Там в середине красной стрелочкой отмечен символ конца строки 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 КБ · Просмотры: 546
M

mms

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!