我对C非常陌生,我正在尝试用换行符读取stdin
。文本文件将用作流。
根据我目前所学到的,我正在尝试这个(当运行代码时,< text.txt
用于获取文件:
int main() {
char textInput[100];
fgets(textInput, 100, stdin);
printf("%s", textInput);
return 0;
}
文件文本类似于:
hello
my
name
is
marc
因此,我只能打印出Hello
。我很确定我必须使用一个循环,但我尝试了很多东西,但都不起作用。即使遇到断线,我也有点困惑于如何继续打印。
您正走在正确的轨道上:您只读取了一行,因此只获得了一行输出。要读取整个文件,必须使用循环。如果inout成功,fgets()
将返回目标指针,并在文件末尾返回NULL
,因此循环非常简单:
#include <stdio.h>
int main() {
char textInput[100];
while (fgets(textInput, sizeof textInput, stdin)) {
printf("%s", textInput);
}
return 0;
}