歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C函數中的二進制I/O

一.前言
把數據寫到文件效率最高的方法是用二進制形式寫入。二進制輸出避免了在數值轉換為字符串過程中所涉及的開銷和精度損失。但二進制數據並非人眼所能閱讀。所以該方法只有當數據被另一個程序按順序讀取時才能使用。

fread函數用於讀取二進制數據,fwrite函數用於寫入二進制數據。

二.fread和fwrite
1.fread()和fwirte函數原型

1>size_t fread(void  *buffer,size_t  size,size_t count,FILE  *stream);

2>size_t fwirte(void  *buffer,size_t  size,size_t count,FILE *stream);

2.buffer是一個指向用於保存數據的內存位置的指針,size是緩沖區中每個元素的字節數,count是讀取或寫入的元素數,當然stream是數據讀取或寫入的留。

3.函數的返回值是實際讀取或寫入的元素(並非字節數目)。如果輸入過程中遇到了文件末尾或者輸出過程中出現了錯誤,這個數字可能比請求的元素數目要小。

Copyright © Linux教程網 All Rights Reserved