c c fopen s開啟檔案

2021-07-25 19:39:34 字數 2121 閱讀 1802

fopen_s開啟檔案

errno_t __cdecl fopen_s(_outptr_result_maybenull_ file ** _file, _in_z_ const char * _filename, _in_z_ const char * _mode)

引數1、file指標

引數2、檔名

引數3、允許訪問的型別:

主要:引數3:

"r"開啟以進行讀取。如果該檔案不存在,或無法找到,fopen_s呼叫失敗。

"w"開啟乙個空檔案以進行寫入。如果該檔案存在,其內容將被銷毀。

"a"開啟以進行寫入 (追加) 而不將新資料寫入檔案之前刪除的 eof 標記檔案的末尾。如果它不存在,則建立該檔案。

"r+"

將開啟並讀取和寫入。 (該檔案必須存在。

"w+"

開啟乙個空的檔案進行讀寫。如果該檔案存在,其內容將被銷毀。

"a+"

將開啟並讀取檔案和追加。追加操作包括刪除 eof 標記的新資料寫入到檔案並在編寫完成後還原 eof 標記之前。如果它不存在,則建立該檔案。

通過開啟檔案時"a"或"a+"訪問型別,所有寫操作出現在檔案的結尾。可通過使用定位檔案指標fseek或rewind,但其始終移回至該檔案的末尾之前任何寫入,因此無法覆蓋現有資料執行操作。

"a"模式下不會追加到該檔案之前刪除 eof 標記。追加發生後,ms-dos type 命令僅顯示最原始的 eof 標記的資料和追加到檔案中沒有任何資料。"a+"模式不會追加到該檔案之前刪除的 eof 標記。後追加,ms-dos type 命令在檔案中顯示所有資料。"a+"模式所需的追加到流檔案,將終止通過使用 ctrl + z eof 標記。

當"r+","w+",或"a+"指定訪問型別,允許讀取和寫入。 (就說是開啟"更新"檔案)。 但是,當從閱讀切換到書寫,輸入的操作必須會遇到 eof 標記。如果沒有任何 eof,則必須使用中間檔案定位函式呼叫。檔案定位函式是fsetpos,fseek,和rewind.從讀數到寫切換時,您必須使用中間呼叫fflush或檔案定位函式。

除了上面的值中,下列字元可以包含在mode指定換行字元的轉換模式:

t以文字形式開啟 (翻譯) 模式。在此模式中,ctrl + z 被解釋為對輸入檔案結尾字元中。要讀取/寫入與開啟的檔案中"a+",fopen_s檢查 ctrl + z 結尾的檔案並移除它,如果可能的話。這是因為使用fseek和ftell在結尾為 ctrl + z,可能會導致檔案移動fseek檔案末尾附近的不當行為。

此外,在文字模式下,回車 – 換行組合被翻譯成在輸入時,乙個換行符) 和換行符轉換為回車 – 換行組合輸出上。當 unicode 流 i/o 函式操作文字模式 (預設值),源或目標流被認為是多位元組字元的序列。因此,unicode 流輸入函式將多位元組字元轉換為寬字元 (如果通過呼叫mbtowc函式)。出於同樣的原因,unicode 流輸出函式將寬字元轉換為多位元組字元 (如果通過呼叫wctomb函式)。

b開啟二進位制 (未翻譯) 模式 ; 翻譯涉及回車和換行字元不會顯示。

如果t或b中沒有給出mode,預設轉換模式定義全域性變數_fmode。如果t或b將作為引數,函式將失敗並返回字首null.

有關使用文字和二進位制模式中 unicode 和多位元組流 i/o 的詳細資訊,請參閱文字和二進位制模式檔案 i/o和unicode 文字和二進位制模式中的流 i/o。

c啟用提交標記關聯的filename,以便檔案緩衝區的內容將直接寫入磁碟,如果任一fflush或_flushall呼叫。

n重置該提交標記關聯的filename為"無約束" 這是預設設定。它還重寫全域性提交標誌,如果鏈結您的程式使用 commode.obj。全球提交標誌預設設定是"無約束" 除非您顯式鏈結您的程式使用 commode。obj (請參閱鏈結選項)。

n指定的檔案不由子程序繼承。

s指定的快取優化的但不是限於,順序訪問磁碟。

r指定的快取優化的但不是限於,隨機訪問磁碟。

t指定臨時檔案。如有可能,它未被重新整理到磁碟。

d指定臨時檔案。最後的檔案指標被關閉時,它將被刪除。

ccs=encoding

指定編碼的字符集可用於此檔案 (utf-8、 utf-16le 和 unicode)。離開這未指定是否希望 ansi 編碼

python開啟檔案 Python檔案開啟模式

python 內建函式 python 內建函式 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。寫入檔案時,不會自動加入換行,需要手動在末尾加入,在每個元素後面都換行n,可以用 fo.writelines line n for line in ...

xlsx檔案開啟亂碼 xlsx檔案怎麼開啟亂碼

excel出現亂碼的原因也是多種多樣。如果你遇到excel開啟是亂碼,可以從下面找找相應的解決辦法。第一,csv檔案用excel開啟是亂碼 從網頁匯出的csv檔案,用excel開啟,中文會是亂碼。csv檔案亂碼問題主要是檔案編碼引起的。因此要解決excel開啟亂碼的問題,可以從改檔案開始 首先,用記...

fopen c 開啟檔案

函式原型 file fopen const char path,const char mode open fclose fopen s 1 wfopen 所需庫 返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤 存在errno 中。一般而言,開啟檔案後會...