C编程:将加密程序的输出重定向到.txt文件

时间:2017-03-21 12:56:51

标签: shell

我在c中编写了加密程序,但是如何在 .txt 文件中重定向输出。我没有在此加密程序中使用文件处理。我尝试过重定向运算符(./ encrypt> txt.txt)。我正在使用gcc编译器。非常感谢你。

1 个答案:

答案 0 :(得分:0)

假设您使用stdoutfwrite()(和朋友)将输出写入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很高兴提供一个例子。