Я пытаюсь получить одну целую строку из некоторого текстового файла вместо одного слова, пока он не встречает белое пространство, вот исходный код:Как читать одну целую строку из текстового файла, используя <
#include <stdio.h>
void main() {
int lineNum=0;
char lineContent[100];
scanf("%s", &lineContent);
printf("%s\n", lineContent);
}
И здесь мой текстовый файл, называемый test.txt, контент, содержащий 2 строки:
111 John Smith 100 98 1.2 2.5 3.6
222 Bob Smith 90 91 3.2 6.5 9.6
И я бегу его с помощью следующей команды:
a.out < test.txt
Мой оу tput просто:
111
Что я хочу:
111 John Smith 100 98 1.2 2.5 3.6
Конечно, я могу просто использовать в то время как заявление и читать рекурсивно до тех пор, пока не встречает EOF, но это не то, что я хочу. Я просто хочу прочитать одну целую строку за каждый раз, когда я читаю из файла.
Как я могу это сделать?
спасибо.
(1) Используйте 'fgets':' scanf ("% s", & lineContent); printf ("% s \ n", lineContent); '->' fgets (lineContent, sizeof lineContent, stdin); printf ("% s", lineContent); '. Также 'while (fgets (...)! = NULL) fputs (lineContent, stdout);' – BLUEPIXY
(2) 'scanf ("% s ", &Content);' -> 'scanf ("% 99 [^ \ n]% * c ", lineContent);'. Также 'while (1 == scanf ("% 99 [^ \ n]% * c ", lineContent)) printf ("% s \ n ", lineContent);' – BLUEPIXY