親プロセスのパイプの一端にデータ (制御データ、アクセス情報など) を書き込むアプリケーションがあります。子プロセスでは、そのデータをそのまま読み込みたい。
親プロセスは、多くの場所で多くの write() 操作を実行します。データをバッファに読み込むには、データの長さを指定する必要があります
read(int fd, buffer, len).
私の問題は、親プロセスが毎回可変サイズのデータを書き込むことです。では、子プロセスはどのようにしてデータの長さを知るようになったのでしょうか。
私は単一の文字を読み取って、それをバフに追加しようとしましたが、
char ch;
int n = 0;
while(n >= 0)
{
n = read(int fd, ch, 1);
*buff = ch; buff++;
}
しかし、それはそれを行う方法ではないようです
子プロセスで可変サイズのデータを読み込む方法を教えてください。