C - Как прочитать определенную строку из файла

Итак, у меня есть текстовый файл, содержащий следующее:

30.5 80.5 21
5
PERS Sarah 40 5 50
PERS Henry 30 10 20.6
PERS Martha 20 42 50.75
PERS John 35 10 80
PERS Jared 23 5 45.53

Не вдаваясь в подробности о том, что мне нужно от программы (с этим я сам разберусь), 30,5 представляет собой одну цену, 80,5 — другую цену, а 21 — третью цену (все уникальные цены на разные вещи)

Вторая строка (цифра 5) показывает, сколько людей регистрируется на гонку.

Последние 5 строк представляют информацию о человеке. PERS означает, что человек регистрируется, имя, очевидно, является именем человека, первое число представляет возраст человека, второе число указывает, в какой гонке он участвует (бег на 5 км, бег на 10 км или бег на 42 км) и последнее число представляет собой сумму собранных пожертвований.

Как я могу сканировать определенную строку файла? Например, если я хочу отсканировать информацию о Джоне, как мне выбрать, что я хочу отсканировать эту строку? Он начинает сканирование с первой строки файла, который мне не нужен. Надеюсь, это имеет смысл.


person Josh    schedule 24.11.2016    source источник
comment
Как вы можете знать, что вы хотите сканировать, прежде чем сканировать это? Разве это не означало бы, что у вас уже была строка? Если вы спрашиваете, как найти подстроку, ответ заключается в том, что вы можете использовать strstr   -  person DIMMSum    schedule 24.11.2016
comment
Как поддерживается программа, какая строка содержит запись для John? Как только вы сможете ответить на этот вопрос, вы сможете писать код.   -  person too honest for this site    schedule 24.11.2016
comment
Вы читаете каждую строку, проверяя, содержит ли она нужную вам информацию. Нет никакого волшебства пожалуйста, прочитайте только строку, содержащую что-то, не читая сначала другие строки, потому что код не способен к экстрасенсорному поведению (знание содержимого строки до того, как он ее прочитает).   -  person Ken White    schedule 24.11.2016


Ответы (1)


Боюсь, нет способа просто пропустить строки в файле - вам просто нужно прочитать его, начиная с первой строки. К тому же вам все равно нужна информация из первых строк, верно?

person Morgan Hill    schedule 24.11.2016
comment
Ах, ну, если это так, то я, вероятно, могу написать код. Я возился с некоторыми функциями и придумал простой способ, предполагая, что это возможно. Спасибо за информацию! - person Josh; 24.11.2016