《C primer plus》 檔案輸入 輸出

2021-10-08 05:05:10 字數 1616 閱讀 9384

訪問檔案的途徑:二進位制模式文字模式

i/o級別:底層i/o標準高階i/0

c程式自動開啟的檔案:標準輸入(standard input)-stdin、標準輸出(standard output)-stdout、標準錯誤輸出(standard error output)-stderr

第乙個引數為待開啟檔名,第二個引數為指定待開啟檔案的模式的字串。成功開啟檔案後,函式返回檔案指標(file pointer)

「r」:讀模式開啟檔案

「w」:寫模式開啟檔案,把現有檔案的長度截為0,若檔案不存在,則建立乙個新檔案

「a」:寫模式開啟檔案,在現有檔案末尾新增內容,若檔案不存在,則建立乙個新檔案

「r+」:更新模式開啟檔案(即可以讀寫檔案

「w+」:更新模式開啟檔案,把現有長度截為0,若檔案不存在,則建立乙個新檔案

「a+」:更新模式開啟檔案,在現有檔案末尾新增內容,若檔案不存在,則建立乙個新檔案,可以讀整個檔案,但是只能在末尾新增內容

「rb」、「wb」、「ab」、「rb+」、「wb+」、「ab+」、「a+b」、「r+b」、「w+b」:與上述模式類似,但是是以二進位制模式開啟檔案。

「wx」、「wbx」、「w+x」、「wb+x」、「w+bx」:類似非x模式,但是如果檔案已存在或者以獨佔模式開啟檔案,則開啟檔案失敗,如果用x的寫模式,會返回錯誤,但是不會將檔案長度截為0;另外x模式的獨佔特性,使得其他程式或者執行緒無法訪問正在被開啟的檔案。

關閉指定的檔案,必要時重新整理快取區。

ch=getc(fp)意思為從fp中獲得乙個字元;putc(ch,fpout)意思為把字元ch放入fife指標fpout指定檔案中,第乙個引數是待寫入的字元,第二個引數是檔案指標。

第乙個引數為file指標,指向帶查詢的檔案。第二個引數是偏移量(offset),改引數必須是乙個long型別的值。第三個引數是模式,在stdio.h中規定了幾個表示模式的明示常量(manifest constant),比如seek_set(檔案開始處),seek_cur(當前位置),seek_end(檔案末尾)。

返回值型別long,返回的是引數指向檔案的當前位置距檔案開始處的位元組數

返回值型別為fpos_t(file position type,檔案定位型別),它不是基本型別,不能是陣列型別。fgetpos(file *restrict stream , fpos_t *restrict pos)fpos_t型別的值表示為當前位置距檔案開頭的位元組數。fsetpos(file *stream , const fpos_t *pos),fpos_t型別的值來設定檔案指標指向偏移該值後指定的位置。

CPrimerPlus學習(十三) 檔案輸入輸出

程式清單13.1 count.c程式 count.c 使用標準 i o include include 提供 exit 的原型 intmain int argc,char ar if fp fopen ar 1 r null while ch getc fp eof fclose fp printf...

C PrimerPlus學習之輸入,輸出和檔案

流檔案的關係圖 iostream檔案中的8個流物件 4個用於窄字元流,4個用於寬字元流 進製轉換 hex dec oct include using namespace std intmain output 4d22322 1234 int width 和int width int i fill c...

c primer plus學習筆記

1.變數名命名規則 重要的 1 有含義 2 只能用字母字元 數字和下劃線 3 第乙個字元不能是數字 4 區分大小寫 5 不能用c 關鍵字 2.整型 1 無符合型別不能表負值 2 char short 16 int short long 32,int 和longlong 64,long c 11 寬度...