我在c中编写了加密程序,但是如何在 .txt 文件中重定向输出。我没有在此加密程序中使用文件处理。我尝试过重定向运算符(./ encrypt> txt.txt)。我正在使用gcc编译器。非常感谢你。
答案 0 :(得分:0)
假设您使用stdout
或fwrite()
(和朋友)将输出写入printf()
,您可以使用freopen()
“重新打开”文件句柄。< / p>
以下示例将“重新开启”stdout
:
#include <stdio.h>
#include <errno.h>
int main(void) {
FILE *f;
f = freopen("./output.txt", "w", stdout);
if (f == NULL) {
perror("freopen()");
return 1;
}
printf("Hello World!\n");
return 0;
}
此处,Hello World!
将写入./output.txt
。
如果您将来电置于freopen()
,则Hello World!
将出现在控制台上。
如果您没有使用fwrite()
或printf()
(而是使用“文件描述符”操作的较低级write()
系列),那么您需要使用{{1很高兴提供一个例子。