我正在嘗試完成這個奇怪的事情,它在文件中查找特定樣式的序列,檢查它是否是它正在查找的序列;然後,在確認後,它會回溯並將某些值更改爲期望值。這是什麼MSDN警告fopen(或fopen_s)試圖說?
它已經做了所有這些......我的問題是與此以下警告:
當指定
"r+"
,"w+"
,或"a+"
訪問類型,閱讀和寫作都被允許(該文件說開放「更新」)。但是,從閱讀切換到書寫時,輸入操作必須遇到EOF
標記。如果沒有EOF
,則必須使用對文件定位功能的中間調用。文件定位功能是fsetpos
,fseek
和rewind
。當您從寫入切換到讀取時,您必須使用中間呼叫fflush
或文件定位功能。
到底這是什麼警告想說什麼?順便說一句,我正在打電話給一個文件定位功能,正當我從閱讀切換到寫作時,使用fsetpos
來尋找我存儲的位置。
如果我沒有?
寫入/讀取是否從最後一個位置指示符的位置繼續?
隨着代碼實例:
...
getc(somefilepointer);
fprintf_s(somefilepointer, "%X", 28);
...
和
...
getc(somefilepointer);
fgetpos(somefilepointer, &an_fpos_t);
fsetpos(somefilepointer, &an_fpos_t);
fprintf_s(somefilepointer, "%X", 28);
...
不是這些兩個相同的?