我只是尝试用bash,所以我用C编写了一个简单的程序来计算文件中的字符数。
这是我的C程序:
#include <stdio.h>
int main()
{
int i, nc;
nc = 0;
i = getchar();
while (i!=EOF){
nc = nc + 1;
i = getchar();
}
printf("%d\n",nc);
return 0;
}
这是我用来编译和执行的bash命令:
gcc sign.c < bright_side_of_life > output
我的输出文件完全是空的。我哪里错了?
答案 0 :(得分:6)
您必须先编译,然后运行:
gcc -o sign sign.c
./sign < bright_side_of_life > output
另外,从技术上讲,这不会将程序的输出传递给文件;它只是重定向它。如果你真的想要一个管道,你可能会进行一些“猫科动物滥用”(意思是,使用'cat'命令):
./sign < bright_side_of_life | cat > output
然而,I / O重定向更为正常,并且(虽然在这种情况下无关紧要)更有效。
答案 1 :(得分:3)
gcc sign.c -o output
./output < bright_side_of_life > size.txt
我希望你实际上是在练习你的C语言。否则,只需使用wc
工具