例項講解C語言中fread 函式的返回值問題

2021-08-14 12:21:29 字數 694 閱讀 7925

最近在linux下用c編寫乙個的藍芽模組公升級程式,用到 fread 函式時候發現返回值始終為1,看了很多帖子說的比較囉嗦,所以博主自己總結了乙份。

函式:f

read(從檔案流讀取資料)  

表頭檔案:  #include

函式定義

size_t fread(void * ptr,size_t size,size_t count,file * stream);

函式說明:  fread()用來從檔案流中讀取資料。引數stream為已開啟的檔案指標,引數ptr 指向欲存放讀取進來的資料空間,size是讀取的長度,count是讀取次數。

舉個例項:

下面三種寫法都是讀取16位元組:

1.   size = fread(buffer,16, 1,manager_src.file_info.file_p);

2.   size = fread(buffer,1, 16, manager_src.file_info.file_p);

3.   size = fread(buffer,2, 8,manager_src.file_info.file_p);

執行後返回值分別是:116

8可以簡單理解為fread函式返回的並非是讀取的位元組數,而是讀取的次數。

C語言中的函式指標學習講解

函式在記憶體中有乙個物理位置,而這個位置是可以賦給乙個指標的。一零點函式的位址就是該函式的入口點。因此,函式指標可被用來呼叫乙個函式。函式的位址是用不帶任何括號或引數的函式名來得到的。這很類似於陣列位址的得到方法,即,在只有陣列名而無下標是就得到陣列位址。1.怎樣說明乙個函式指標變數呢 為了說明乙個...

C語言中qsort函式的用法例項詳解

c語言中qsort函式的用法例項詳解 快速排序是一種用的最多的排序演算法,在c語言的標準庫中也有快速排序的函式,下面說一下詳細用法。qsort函式包含在中 qsort函式宣告如下 void qsort void base,size t nmemb,size t size int compar con...

C 語言中負數移位運算講解

c 語言中負數移位運算講解 為移位運算子。為左移位運算子,即資料位元組中的每個二進位制位同時 向左移位。如 x 為右移位運算 符,即資料位元組中的每個二進位制位同時向右移位。如 x n 表示 x 中的每個二進位制位同時 向右移動 n 位。下圖演示了乙個 2 位元組變數左移 3 位的過程 十進位制數 ...