如何从C中的命令行输入访问.txt文件?

时间:2015-09-19 12:07:46

标签: c command-line

例如,我运行的程序如下:

program.exe<的text.txt

我希望程序从文件text.txt中读取。我该如何开始这样做?

2 个答案:

答案 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;
}

some more help here