を使用して、pipe_out などの名前付き posix パイプを作成します。
mkfifo $path_tmp/pipe_out
Cで開く
out_pipe = fopen(TMP_PATH "/pipe_out", "w");
fprintf コマンドを使用して書き込みます
fprintf(out_pipe,"%s",string);
fprintf の戻り値を使用して、書き込まれた量を確認し、文字列の実際の長さと比較して、完全な文字列がパイプに書き込まれたかどうかを確認できると思います。そして、(オーバー)いっぱいになった場合は、何らかの方法で一時停止し、まだ書き込まれていないものから始まる無限ループで再度書き込みを試みます...
これは詳細にどのように見えるでしょうか。また、パイプがいっぱいになったときに fprintf を自動的に停止 (一時停止) するより高度な方法があるのでしょうか。