Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.07.2018, 10:51   #1
bober123
Новичок
 
Регистрация: 07.07.2018
Сообщений: 1
Репутация: 10
По умолчанию Найти подстроку в строке и записать в переменную

У меня есть текстовый файл. Строки могут быть разной длины. Некоторые строки (не все) заканчиваются на NEW.... Эта подстрока не может быть в середине строки, если она есть, то в конце. После NEW идут любые символы, но их всегда 9,т.е. длина подстроки 12, далее - перевод строки. Мне нужно найти эту подстроку в строке и записать в переменную, зная что длина подстроки равна 12 символов
Вот фрагмент, как я пытался:

FILE *file_data;
char reading_str[81],reading_str2[81];

while(getc(file_data)!=EOF)
{
// Чтение строки до символа конца строки в файле
fgets(reading_str,81,file_data);
// Если строка reading_str содержит NEW, надо прочитать подстроку
// И записать ее в переменную
if (strstr(reading_str,"NEW")!=NULL)
{
fseek(file_data,-13,SEEK_CUR);
fgets(reading_str2,12,file_data);
printf("%s",reading_str2);
}
//printf("%s",reading_str);
}

Получилось не пойми что. Почти каждый раз попадаю после fseek на разное место в строке. Близко к тому, что надо, но не туда. Может быть, потому что fgets требует ввести количество символов (81 я ввел), а строки разной длины и указатель после исполнения первого fgets каждый раз встает по-разному относительно текущей строки? Но избежать этого нельзя никак. Или я вообще неправильно делаю?
bober123 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти подстроку заключенную в скобки? kkk-it C# (си шарп) 1 05.07.2017 12:48
записать в переменную строку с кавычками Ale}{ander PHP 3 04.01.2014 22:32
в строке найти подстроку gylayko Помощь студентам 0 10.11.2012 17:14
заменить в строке подстроку Lemo Помощь студентам 4 18.10.2008 21:54
найти минимальный элемент в каждой строке матрицы и записать все минимальные элементы в отдельный массив W_P Помощь студентам 6 28.12.2007 01:24


13:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru