【发布时间】:2012-08-14 12:54:27
【问题描述】:
我想在 C 程序中调用 echo,然后将其输出重定向到文件。但我不确定如何在 C 程序中调用 unix 命令。非常感谢任何帮助。
谢谢, 阿什什
【问题讨论】:
-
你为什么打电话给
echo??*printf函数呢? (例如FILE * f = fopen("file", "w"); fprintf(f, "words"); fclose(f);)
我想在 C 程序中调用 echo,然后将其输出重定向到文件。但我不确定如何在 C 程序中调用 unix 命令。非常感谢任何帮助。
谢谢, 阿什什
【问题讨论】:
echo?? *printf 函数呢? (例如FILE * f = fopen("file", "w"); fprintf(f, "words"); fclose(f);)
#include <stdlib.h>
int main() {
system("echo test > filename");
return 0;
}
是执行此操作的简单方法。如果您想更好地控制流程,那么您应该调查fork/exec。
但是,您可以使用 C 标准库文件函数轻松编写文件。这将比产生一个新进程轻得多。
【讨论】:
如果你特别想执行这个程序来获取它的输出,你宁愿想要popen()而不是system()。
【讨论】:
您可以使用system 函数来做到这一点:
#include <stdlib.h>
int main() {
system("echo 'words' > file");
return 0;
}
或使用 fopen、printf、fclose。
【讨论】: