fseek
原型:int fseek(file *stream, long offset, int fromwhere);
功能:重定位流(資料流/檔案)上的檔案內部位置指標
注意:不是定位檔案指標(檔案指標是 file * fp 這樣的),檔案指標指向檔案/流。位置指標指向檔案內部的位元組位置,隨著檔案的讀取會移動,檔案指標如果不重新賦值將不會改變指向別的檔案。
函式設定檔案指標stream的位置。如果執行成功,stream將指向以fromwhere(偏移起始位置:檔案頭(seek_set)0,當前位置(seek_cur)1,檔案尾(seek_end)2)為基準,偏移offset(指標偏移量)個位元組的位置。如果執行失敗(比如offset超過檔案自身大小),則不改變stream指向的位置。
返回值:成功,返回0,失敗返回-1,並設定errno的值,可以用perror()函式輸出錯誤。
第乙個引數stream為檔案指標
第二個引數offset為偏移量,正數表示正向偏移,負數表示負向偏移
第三個引數origin設定從檔案的**開始偏移,可能取值為:seek_cur、 seek_end 或 seek_set
seek_set: 檔案開頭
seek_cur: 當前位置
seek_end: 檔案結尾
其中seek_set,seek_cur和seek_end依次為0,1和2.
簡言之:
fseek(fp,100l,0);把檔案內部指標移動到離檔案開頭100位元組處;
fseek(fp,100l,1);把檔案內部指標移動到離檔案當前位置100位元組處;
fseek(fp,-100l,2);把檔案內部指標退回到離檔案結尾100位元組處。
fread的功 能: 從乙個流中讀資料
fread 在使用過程中,首先由 file 確定乙個檔案指標 fp,fp 通過 fopen 將物件確定,fread此時對檔案的操作是 檔案內部位置指標移動乙個位元組再讀取乙個位元組
函式原型: size_t fread( void * buffer , size_t size , size_t count , file * stream );
參 數:
1.用於接收資料的位址(指標)(buffer )
2.單個元素的大小(size) :單位是位元組而不是位,例如讀取乙個整型數就是2個位元組
3.元素個數(count )
4.提供資料的檔案指標(stream)
返回值:
(1)成功時返回實際讀入的元素個數
(2)若檔案達到末尾,則返回0
(3)出錯時,返回-1
fread函式和fwrite函式
1.函式功能 用來讀寫乙個資料塊。2.一般呼叫形式 fread buffer,size,count,fp fwrite buffer,size,count,fp 3.說明 1 buffer 是乙個指標,對fread來說,它是讀入資料的存放位址。對fwrite來說,是要輸出資料的位址。2 size 要...
fread函式和fwrite函式
1.函式功能 用來讀寫乙個資料塊。2.一般呼叫形式 fread buffer,size,count,fp fwrite buffer,size,count,fp 3.說明 1 buffer 是乙個指標,對fread來說,它是讀入資料的存放位址。對fwrite來說,是要輸出資料的位址。2 size 要...
數學計算二次函式
求解 b b b 4ac 2a 的 import math int x 可以把x 字元型 轉化為int型 輸入時要用逗號比如 1,2,3且只能輸入3個數字 a,b,c int x for x in raw input split 輸入3個字元數字轉化為可以計算的數字 a,b,c input 請輸入a...