1樓:網友
為什麼你偏移量是,-sizeof(ren),哪來負的偏移量?最小就是0了。。不能為負數。。去掉負號就沒警告了。。
用 法。int fseek(file *stream, long offset, int fromwhere);
本段。描 述。
函式設定檔案指標stream的位置。如果執行成功,stream將指向以fromwhere(偏移起始位置:檔案頭0,當前位置1,檔案尾2)為基準,偏移offset(指標偏移量)個位元組的位置。
如果執行失敗(比如offset超過檔案自身大小),則不改變stream指向的位置。
2樓:匿名使用者
seek_end); 就是把指標移到距離檔案結尾 8個位元組處 然後讀取。
此處設 int 型資料被分配4 個位元組) 那麼執行fread(&b,sizeof(int),1,fp);的時候 讀取的位置 就是 a[2] 的寫入位置 也就是說讀取的資料 我為 3
另外,站長團上有產品**,便宜***。
fseek(fp,-(long)sizeof(struct emploee),1,fp)什麼意思?
3樓:網友
c/c++ 中的標準 fseek 函式都只有三個引數,沒見過四個引數的 fseek 的定義。
標準的 fseek 的定義如下:
int fseek( file *stream, long offset, int origin );
因而我猜測你給出的語句正確的寫法應該是:
fseek(fp,-(long)sizeof(struct emploee),1)
如果我猜的沒錯的話。該語句的意思是:
從檔案指標當前的位置向檔案頭部移動, 移動的位元組數是結構 employee 所佔儲存空間的大小。
fseek 的第二個引數是檔案指標偏移量,其型別是 long, 負值表明是向檔案頭部移動,正值是向檔案尾部移動。
第三個引數 1 表明是從檔案的當前當前位置開始移動。
50、有以下程式(提示:程式中fseek (fp, -2l*sizeof(int), seek_end ); 語句的作用是使位置指標從檔案尾
4樓:帳號已登出
fseek(fp,-2l*sizeof(int).seek_end); 就是把指標移到距離檔案結尾 8個位元組處 然後讀取。
此處設 int 型資料被分配4 個位元組) 那麼執行fread(&b,sizeof(int),1,fp);的時候 讀取的位置 就是 a[2] 的寫入位置 也就是說讀取的資料 我為 3
關於才語言的fseek()和sizeof(結構體)
5樓:星月and聖冰雨
int fseek( file *stream, long offset, int origin );
第乙個引數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);把fp指標移動到離檔案開頭100位元組處;
fseek(fp,100l,1);把fp指標移動到離檔案當前位置100位元組處;
fseek(fp,100l,2);把fp指標退回到離檔案結尾100位元組處。
根據這個,你可以試試:
fseek(fp1,sizeof(struct book)l,1);