最近在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 位的過程 十進位制數 ...