1
是否有C.發送浮動過程之間的點值與管道用C
從一個子進程發送浮點值的父進程的標準方法我有一些計算,我想創建一個進程,然後讓孩子做一些忙碌的工作,父母做一些其他的事情,然後孩子將其值(雙打)發送回父母(大概是通過管道)。顯然,父母可以解析流,但我只是想知道是否有更清晰的方法?
是否有C.發送浮動過程之間的點值與管道用C
從一個子進程發送浮點值的父進程的標準方法我有一些計算,我想創建一個進程,然後讓孩子做一些忙碌的工作,父母做一些其他的事情,然後孩子將其值(雙打)發送回父母(大概是通過管道)。顯然,父母可以解析流,但我只是想知道是否有更清晰的方法?
如果您只是在同一臺計算機上的兩個進程之間發送它們,則無需花哨。在發送端:
double my_float;
write(fd, &my_float, sizeof(myfloat));
而在接收端:
double my_float;
read(fd, &my_float, sizeof(my_float));
您應該檢查的write
當然read
的返回值。
謝謝,這正是我所需要的。 – Alex
爲管道定義一些線路協議,然後實施它。 –
可以遠程調用'標準'方法的唯一方法是將printf()放入管道的一端,並在接收端放置scanf()。逗號分隔符或換行符。並不真正達到解析的水平。分隔符上的拆分字段和換行符上的重置字段數。 – starbolin
如果您要使用文本,請使用十六進制浮點數,而不是十進制。轉換它們要快得多,並且避免了所有可能導致往返程度有損的缺陷。 –