C C 以及Linux檔案操作備忘錄

2022-01-18 02:36:24 字數 1983 閱讀 8224

目錄c++檔案操作

linux檔案操作

#includestdin, stdout, stderr
檔案開關
/*

** r/rb 唯讀。 不存在返回null,開啟成功不會清空檔案

** w/wb 只寫。 不存在建立, 開啟成功後清空檔案

** a/ab 只寫。 不存在建立, 開啟成功不會清空檔案

** r+/rb+ 讀寫兼備。 不存在返回null,開啟成功不會清空檔案

** w+/wb+ 讀寫兼備。 不存在建立, 開啟成功後清空檔案

** a+/ab+ 允許讀取。 不存在建立, 開啟成功不會清空檔案。

*/file* fopen(char* fname, char* mode);

int fclose(file* fp);

檔案讀寫
// @brief 返回讀取的單個字元ascii碼

int fgetc(file* fp);

// @brief 向檔案中寫入乙個字元。

// @return int 失敗 -1, 成功寫入的ascii碼值

int fputc(char ch, file* fp);

// @brief 最多count-1個字元,第count個字元是'\0'.讀取過程遇到'\n'會提前結束

// @ return buf所指向的空間位址

char* fgets(char* buff, int count, file* fp);

// @brief 將ch引數'\0'之前的部分寫入檔案

// @return 錯誤eof,成功0

int fputs(const char* ch, file* fp);

// @brief 二進位制形式讀取

// @param buff 空間儲存位址

// @param size 每個資料項的位元組數

// @param count 讀取的資料項個數

// @param fp 檔案指標

// @return 讀取的資料位元組數

size_t fread(void* buff, size_t size, size_t count, file* fp);

// @brief 二進位制形式寫入

size_t fwrite(const void* buff, size_t size, size_t count, file* fp);

// @brief 獲取檔案指標當前位置

// @return 檔案位置指標距離檔案開頭的位元組數。不存在或有錯誤返回-1l

long ftell(file* fp);

// @brief 以origin為基準偏移offset

// @param origin seek_set 0 檔案從開頭偏移

// seek_cur 1

// seek_end 2

// @return 成功0 錯誤-1

int fseek(file* fp, long offset, int origin);

// @brief 指標移動到檔案開頭

void rewind(file* fp);

c++三種io:iostream,fstream,sstream

#include fstream ofstream ifstream
開啟
#include #include #include int open(const char* pathname, int flags);

int open(const char* pathname, int flags, mode_t mode);

flags: o_rdonly o_wronly o_rdwr

mode:建立檔案時使用

C C 檔案操作 輸入輸出備忘

1.1 普通ascii字元 1 cin 結束條件 enter space tab鍵 讀取結束條件 while cin value cin 後便可以跟整型,浮點型,字串,string char cstr 256 string str cin cstr cin str cout str cstr end...

Golang 檔案操作 防備忘

檔案概念 上圖中,返回的這個file指標,有三種叫法 檔案物件 檔案指標 檔案控制代碼 都可以 我們在理解的時候,其實file就是乙個指標,這樣更容易理解。檔案的開啟 關閉file,err os.open 路徑 檔名 if err nilerr file.close 檔案關閉 if err nil用...

C C 檔案操作 2

ofstream fs binary ios binary ofstream fs character.txt int i 32765 fs 無論以二進位制檔案模式開啟還是以文字模式開啟,檔案中都是儲存著文字!似乎c c 中的binary 模式不起作用!後來查閱資料才知道 要想在c c 中將資料以二...