Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

У меня есть текстовый файл. Строки могут быть разной длины. Некоторые строки (не все) заканчиваются на 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти подстроку заключенную в скобки? kkk-it C# (си шарп) 1 05.07.2017 11: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 00:24