1樓:
初學c語言就考慮到這麼多,真不錯~
fopen返回的file *其實就是個int *,那個int只是當前c開啟的檔案的標識,並不是檔案指標。在windows,fopen 底層呼叫了api createfile,這個api返回的handle型別也不是檔案指標,檔案指標是隱藏的,使用者基本看不到的。
指標自動移動(fread/fwrite)是呼叫了相應api(readfile/writefile)的結果,即api自行修改了檔案指標。
還有什麼問題。。。
2樓:匿名使用者
檔案內部指標不是就是用開啟檔案函式所賦值的那個指標,開啟函式的指標,是檔案流的指標,指向這個檔案流。
內部指標指向當前操作在檔案流中的位置
fp是檔案指標的話
可以使用ftell(fp)來獲取當前內部指標位置。
也有fseek函式來設定內部指標位置,這些函式呼叫的時候,必須使用檔案流的 指標。檔案流的指標始終是這個fp,但內部指標的位置是一直在移動的,沒有一個可見的內部指標的變數來讓你操作,只對檔案指標操作就可以了。
讀寫檔案的時候內部指標自動移動,是c的io系統管理來實現的,這個檔案流其實仍然是io,跟鍵盤滑鼠都是由io系統管理來做的,不用去關心底層的具體操作,只要知道讀寫操作以後內部指標變了,就行。
3樓:潘達
檔案指標你不能直接使用,開啟檔案的那是流指標,永遠指向流本身,修改檔案內容指標的位置,只能通過fseek來設定,而且得到值不是指標,只是個長度,檔案指標是系統管理的,你不能直接操作這個指標,你讀取成功後指標後移是系統完成的,不是c語言函式完成的,c語言實現檔案操作也是通過呼叫系統api實現的,檔案是作業系統的一個物件,直接操作他的是windows系統,並不是c語言。。。。
當然我說的這些特指windows系統的c語言程式,其他環境的,甚至是裸機環境的肯定不是這樣,c語言只規定了語法和函式功能,不規定實現方法(這沒法規定)。。。。
4樓:
微機原理中有個暫存器叫做指標暫存器他是隨著程式的執行地址自動加一,你說的移動應該是地址的變化吧
c語言中檔案指標怎樣向前移動一個位元組
5樓:
你是用c標準i/o庫函式的話,
(1)檔案定位:
檔案定位指讀取或設定檔案當前讀寫點,所有的通過檔案指標讀寫資料的函式,都是從檔案的當前讀寫點讀寫資料的。
常用的函式有:
#include
int fseek(file *stream, long offset, int whence);
fseek 設定當前讀寫點到 offset 處,
whence 可以是 seek_set,seek_cur,seek_end,這些值決定是
從檔案頭、當前點和檔案尾計算偏移量 offset.
你可以定義一個檔案指標file *fp,當你開啟一個檔案時,檔案指標指向開頭,
你要指到多少個位元組,只要控制偏移量就好,例如
相對當前位置往後移動一個位元組:fseek(fp,1,seek_cur);中間的值就是偏移量。
如果你要往前移動一個位元組,直接改為負值就可以:fseek(fp,-1,seek_cur)
把檔案指標移動到檔案當前位置的前48個位元組的c語言文字
6樓:匿名使用者
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);把檔案內部指標移動到離檔案開頭100位元組處;
fseek(fp,100l,1);把檔案內部指標移動到離檔案當前位置100位元組處;
fseek(fp,-100l,2);把檔案內部指標退回到離檔案結尾100位元組處。
C語言指標問題,C語言指標問題?
文庫精選 內容來自使用者 zzbo2022 讓你不再害怕指標 前言 複雜型別說明 要了解指標,多多少少會出現一些比較複雜的型別,所以我先介紹一下如何完全理解一個複雜型別,要理解複雜型別其實很簡單,一個型別裡會出現很多運算子,他們也像普通的表示式一樣,有優先順序,其優先順序和運算優先順序一樣,所以我總...
C語言指標問題,C語言指標問題。
最大的寶寶 pointer是指標指向的一個值,此時為2,這個值再自加1自然為3。pointer此時還指向值2,減2的含義是指標回退兩個元素,自然指向了值6。指標本身有值,表示它指向的地址,這個值可以運算,表示對地址的修改。而指標指向的值,其實就是位於這個地址所存的值。在彙編以上層次的程式設計中,記憶...
c語言函式指標定義,C語言函式指標定義
韌勁 函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也佔用儲存空間,都有相應的地址。可以使用指標變數指向陣列的首地址,也可以使用指標變數指向函式 的首地址,指向函式 首地址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由...