freopen stdout and console

前端 未结 3 846
梦如初夏
梦如初夏 2020-12-16 03:32

Given the following function:

freopen(\"file.txt\",\"w\",stdout);

Redirects stdout into a file, how do I make it so stdout redirects back i

3条回答
  •  天涯浪人
    2020-12-16 04:11

    After posting the answer I have noticed that this is a Windows-specific question. The below still might be useful in the context of the question to other people. Windows also provides _fdopen, so mayble simply changing 0 to a proper HANDLE would modify this Linux solution to Windows.

    stdout = fdopen(0, "w")

    #include 
    #include 
    int main()
    {
        freopen("file.txt","w",stdout);
        printf("dupa1");
        fclose(stdout);
        stdout = fdopen(0, "w");
        printf("dupa2");
        return 0;
    }
    

提交回复
热议问题