真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言中fseek函數(shù) c語言fseek函數(shù)的用法示例

C語言中,fseek函數(shù)怎么控制移動的方向?怎么往前或往后,最好能有個例子。 謝謝!

fseek有三個參數(shù),第1個是文件句柄,通過打開文件時得到;第2個就是移動的字節(jié)數(shù),這個數(shù)可以是正的,就是向后(文件尾部)移動,也可以是負的,即向前(文件頭部)移動;第3個參數(shù)指明從哪里移動,如果寫SEEK_SET就是從文件頭部移動多少字節(jié),如果寫SEEK_END則是從尾部開始移動,SEEK_CUR則是從當前位置移動。

成都創(chuàng)新互聯(lián)始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達十多年累計超上千家客戶的網(wǎng)站建設總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:成都服務器托管等企業(yè),備受客戶贊揚。

比如

要將文件指針移動到文件開始的第24字節(jié)位置:fseek(fp,24,SEEK_SET);

移動到文件尾部向前50字節(jié):fseek(fp,-50,SEEK_SET);

在當前位置移動8個字節(jié)(跳過8個字節(jié)數(shù)據(jù)):fseek(fp,8,SEEK_CUR);

在當前位置向前移動16個字節(jié)(準備重新讀取數(shù)據(jù)):fseek(fp,-16,SEEK_CUR);

在C語言中fseek()的功能

fseek()是重定位流(數(shù)據(jù)流/文件)上的文件內(nèi)部位置指針。

注意:文件指針指向文件/流。位置指針指向文件內(nèi)部的字節(jié)位置,隨著文件的讀取會移動,文件指針如果不重新賦值將不會改變或指向別的文件。

如果執(zhí)行成功,stream將指向以fromwhere為基準,偏移offset(指針偏移量)個字節(jié)的位置,函數(shù)返回0。如果執(zhí)行失敗(比如offset取值大于等于2*1024*1024*1024,即long的正數(shù)范圍2G),則不改變stream指向的位置,函數(shù)返回一個非0值。

擴展資料:

注意事項

fseek函數(shù)的文件指針,應該為已經(jīng)打開的文件。如果沒有打開的文件,那么將會出現(xiàn)錯誤。 fseek函數(shù)也可以這樣理解,相當于在文件當中定位。

這樣在讀取規(guī)律性存儲文件時可以利用其OFFSET偏移量讀取文件上任意的內(nèi)容。

fseek函數(shù)一般用于二進制文件,也可以用于文本文件。用于文本文件操作時,需特別注意只有fseek(fp, 0, SEEK_SET) 和 fseek(fp, ftell(fp), SEEK_SET)能確保結(jié)果符合預期。

參考資料來源:百度百科-fseek

C語言關于fseek函數(shù)。

中文文件要用TCHAR之類的多字節(jié)方法處理。

你的方法是把中文看成2進制一個字符一個字符的數(shù)據(jù)文件來處理,也是可以的,fseek工作完全正常,

問題是輸出字符的顯示,你可以顯示每個字節(jié)的值,但不能顯示成肉眼可識別的漢字。

putchar ( ch ); 可用于 ASCII字符。

你可以換成: printf("%02x ", 0xff ch ); 可以顯示單個字節(jié)的碼值。從輸出的碼值可以看出,程序沒有問題,只是不能顯示成肉眼可識別的漢字。

另外,如果是unicode中文文件,則文件頭有不可見的文件類型區(qū)分碼0xfe 0xff 或 0xff 0xfe 等等。

2個單個字節(jié)碼,合成一個雙字節(jié)碼,有大端和小端文件問題,也許需要互相交換相鄰2個字節(jié),再顯示成中文。


文章名稱:c語言中fseek函數(shù) c語言fseek函數(shù)的用法示例
文章來源:http://weahome.cn/article/doogpdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部