例如,我运行的程序如下:
program.exe<的text.txt
我希望程序从文件text.txt中读取。我该如何开始这样做?
答案 0 :(得分:2)
好的,因为这是一个文本文件,你可能想逐行阅读,所以
char buf[1024];
while (fgets(buf, 1024, stdin))
{
/* do whatever you need with the line that's in buf here */
}
请注意,您的代码并不了解该文件,它只是从标准输入读取。使用<
,您可以告诉您的环境(Windows上的CMD
,例如* nix上的bash
之类的shell)为您打开该文件,并将其作为标准输入提供给您的程序默认情况下,控制终端,通常只是从键盘读取。
提示:1024
是一种随机选择,大多数文本文件的行数不超过1kb。您可能希望对其进行修改以更好地满足您的预期输入。
答案 1 :(得分:0)
另一种做你正在寻找的方法是
#include <stdio.h>
int main (void) {
int c;
while ((c = fgetc(stdin)) != EOF) fputc(c, stdout);
return 0;
}