我有一個應用程序在父進程中將數據(控制數據,訪問信息等)寫入管道的一端。在子進程中,我想按照原樣讀取這些數據。使用讀取系統調用讀取緩衝區中的可變大小的數據在C
父進程在許多位置執行許多write()操作。爲了將數據讀入緩衝區,我們需要指定數據的長度
read(int fd, buffer, len).
我的問題是,父進程每次寫入可變大小的數據。那麼,兒童流程如何才能知道數據的長度。
我試圖讀取單個字符,並把它添加到作爲愛好者,
char ch;
int n = 0;
while(n >= 0)
{
n = read(int fd, ch, 1);
*buff = ch; buff++;
}
但它似乎並不辦法做到這一點
請告訴我如何讀兒童可變大小數據處理?