2

以下のようにファイルに再ルーティングするためにdupandを使用しています。freopenstdout

fflush(stdout);
fgetpos(stdout, &pos);
fd = dup(fileno(stdout));
freopen("stdout.out", "w", stdout);

私がやりたいのはchar[]、それを に再ルーティングして、操作できるようにすることです。明らかに、これは を使用して書き込む場合にはあまり役に立ちませんprintfが、 に書き込むライブラリを使用するstdout場合は、必要に応じて操作できるように、コードで出力を取得すると便利です。

4

1 に答える 1

0

stdout への割り当てが機能することは保証されていませんが、お使いのプラットフォームで機能する可能性があります。それ以外の場合は、shmem_open、mmap、および fmem_open に基づくこの回答を参照してください: https://stackoverflow.com/a/25327235/2332068

于 2021-11-03T10:15:45.050 に答える