所以我打算通过执行以下命令来接受文本文件:
$ sort < list.txt
我知道列表文本文件正在输入到我的排序程序,但我如何实际使用程序中的信息?我该如何阅读?
我的代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
char c;
while (c != EOF){
c = getchar();
printf("%c ",c);
}
return (0);
}
示例:
$ ./sort.c < input.txt
./sort.c: line 3: $'\r': command not found
./sort.c: line 4: syntax error near unexpected token `('
'/sort.c: line 4: `int main(int argc, char** argv) {
答案 0 :(得分:2)
当您使用&#39; <
&#39;如您在帖子中所写的命令行上的符号,操作系统会为您读取文件,并通过stdin
将内容提供给您的程序。所以,你需要做的就是从标准输入读取。
这是一个非常简单的代码片段,用于演示 -
#include <stdio.h>
int main() {
char line[256];
FILE *fp = stdin;
while(fgets(line, sizeof(line), fp) != NULL) {
printf("%s", line);
}
}