關於檔案相關的函式總結

2021-10-09 06:17:47 字數 2984 閱讀 8905

file *

fopen

(const

char

*fname ,

const

char

*mode)

// fname要開啟的檔名

// mode指示檔案的開啟模式

// fopen()返回值型別是檔案型別指標

int

fclose

( file *fp )

// 檔案關閉成功,則返回0,否則返回-1

// fclose()可以把緩衝區內的剩餘資料輸出到磁碟檔案中

// fclose()並釋放檔案指標和相關的快取區

int

fputc

(int ch , file *fp )

// ch被寫入的字元,該字元以其對應的int值傳遞

// fp指向file物件的指標

// fputc()寫入成功則返回寫入的字元,失敗返回eof

int

fgetc

( file *fp )

// 從檔案指標fp指向的檔案中讀取乙個字元

// 返回讀取的乙個位元組,如果讀到檔案末尾則返回eof

char

*fgets

(char

*s ,

int size , file *fp)

// 從檔案指標fp所指的檔案內讀入字元並存到引數s所指的記憶體空間

// 讀取字串,直到:換行符,檔案尾,或者已讀size-1個字元為止,最後加上 null 即'\0' 表示字串的結束

// 讀寫成功則返回字串指標,否則返回null

int

fputs

(char

*string , file *fp)

// 將string所指向的字串寫入fp中

// 讀寫成功返回0,否則返回非0

int

fprintf

( file *fp ,

char

*format [argument]

)// 同printf()

// fprintf( fp , "%d,%c" , cnt , ch );

int

fscanf

( file *fp ,

char

*format [argument...

])// 同scanf()

// scanf( fp , "%d %c",&cnt ,&ch);

size_t fwrite

(const

void

*buffer , size_t size , size_t count , file *fp)

// 將乙個資料塊寫入fp指向的檔案中

// buffer是指向所要輸出引數的位址

// size是每次所要寫入的位元組數

// count是寫入次數

// fp目標檔案指標

// 讀寫成功則返回寫入位元組數

size_t fread

(const

void

*buffer , size_t size , size_t count , file *fp)

// 從fp指向的檔案中讀取乙個資料塊

// buffer是指向所要讀出的位址

// size是每次所要讀出的位元組數

// count是讀出次數

// fp目標檔案指標

// 讀寫成功則返回讀出位元組數

void

rewind

( file *fp )

// 將位置指標重新定位到檔案開頭

// 沒有返回值

int

fseek

( file *fp ,

long offset ,

int start)

// fseek()可以按照需要任意移動位置

// offset是以start引數為起始位置的偏移量

// start 取值如下:

// seek_set seek_cur seek_end

// 相應整數值為:0,1,2

// 分別表示:檔案開頭位置,當前位置,檔案結束位置

// 成功則返回0,否則返回非0

long

ftell

( file *fp )

// 獲取位置指標當前位置相對於檔案首的偏移位元組數

// 函式呼叫成功則返回當前檔案的讀寫位置,否則返回-1

int

ferror

( file *fp )

// 檢測對檔案指標fp所指向的檔案讀寫操作出現的錯誤

// 沒有出錯則返回0,否則返回非0

// 由於每次進行讀寫操作後,再呼叫ferror()函式都會產生乙個新的值

// 因此在呼叫讀寫操作函式後要及時地呼叫ferror()函式對其經行檢測,否則資訊會丟失

void

clearerr

( file *fp )

// 復位錯誤標誌,無返回值

void

perror

(const

char

*string)

// 將上乙個函式發生錯誤的原因輸出到標準裝置

// 引數string所指字串先被列印,再加上錯誤原因字串

char

*strerror

(int errnum)

// 將錯誤的數值資訊轉化為易於理解的字串資訊

關於hash相關的總結

1.hashmap為什麼執行緒不安全?1.1 size沒有用volatile修飾,如果多執行緒同時進行put和remove,size的值不准 1.2 如果多執行緒同時put乙個key值相同,會導致其中乙個執行緒的value值丟失 1.3 如果多執行緒正好傳送在resize的時候,也會導致資料的丟失 ...

函式相關總結

1.python中函式定義方法 def test x the function definitions x 1 return x def 定義函式的關鍵字 test 函式名 內可定義形參 文件描述 非必要,但是強烈建議為你的函式新增描述資訊 x 1 泛指 塊或程式處理邏輯 return 定義返回值 ...

檔案相關函式

1 flush 重新整理緩衝區 flush 當檔案關閉的時候自動重新整理緩衝區 當整個程式執行結束的時候自動重新整理緩衝區 當緩衝區寫滿了 會自動重新整理緩衝區 手動重新整理緩衝區 fp open 0506 6.txt mode w encoding utf 8 fp.write 123456 手動...