Как я могу получить строки в текстовом файле
Я начал программировать на языке C, и у меня возникли некоторые проблемы с чтением текстовых файлов. Позвольте мне объяснить.
У меня есть один текстовый файл, который организован следующим образом:
Tony
12.23
John
09.45
Tayris
03.99
Я хотел бы извлечь все ноты меньше десяти и показать их, но я не могу...
Может ли кто-нибудь помочь мне?
Большое спасибо.
2 ответа:
C предоставляет четыре функции, которые можно использовать для чтения файлов с диска:
Fscanf()
Функция, ориентированная на поле.
Fgets()
Линейно-ориентированная функция.
Fgetc()
Символьно-ориентированная функция
Фрид()
Блок-ориентированная функция.
См. эта статья для получения дополнительной информации.
Проверьте функцию
fgets
. Он будет возвращаться до (и в том числе) конца строкового символа (вы можете удалить его из строки назначения, если хотите).Http://people.cs.uchicago.edu/~iancooke/osstuff/ccc.html предлагает пример:
Вот более сложный пример. Readline () использует fgets() для чтения до MAX_LINE-1 символ в поле буфер "в". Оно обнажает предшествующее пробел и возвращает указатель на первый не-пробел характер.Я думаю, этого должно быть достаточно.char *Readline(char *in) { char *cptr; if (cptr = fgets(in, MAX_LINE, stdin)) { /* kill preceding whitespace but leave \n so we're guaranteed to have something*/ while(*cptr == ' ' || *cptr == '\t') { cptr++; } return cptr; } else { return 0; } }