2

stdoutを使用してプロセスをリダイレクトしていますがfreopen()、それが 1 つのプロセスである限り、すべて問題ありません。

ただし、次のようなことをすると:

freopen("stdout.txt", "a+", stdout);
printf("Initial line.\n");

int i=0;
while(i<1000)
    {
        if(fork())
            wait(NULL);
        else
            printf("Line %d.\n", i);
        i++;
    }

最初に印刷された行は、ファイルに何度も再印刷されます。これが起こらないようにするために私がしなければならないことはありますか?

4

1 に答える 1