私はstdout
自分のプログラムをこのように2つの配列に読み込もうとしています
#include<stdio.h>
int main ()
{
char arr[100]={0};
char arr2[100]={0};
printf("Hello world\n"); // This writes to stdout
fgets( arr, 80, stdout );
fseek ( stdout, 0, SEEK_SET );
fgets ( arr2, 80, stdout );
printf ("First array is %s\n", arr );
printf ("Second array is %s\n", arr2 );
return 0;
}
出力は私が期待するものではありません。つまり、両方の配列はHello World
、私が期待したように含まれているのではなく、空です。
私はこの投稿を読んで、私が望むことを達成するためにパイプを扱うことを提案していますが、上記のコードが機能しない理由を教えてくれませんか?
編集:stdout
上記を正しく機能させるための代替案を知っているといいのですが、同じプログラムを読むことに伴う問題についてもっと興味があります