文字檔案相關內容

2021-10-23 20:40:15 字數 2281 閱讀 3348

檔案io:

file *fopen(const char *path, const char *mode);

功能:開啟或建立檔案

path:檔案的路徑

mode:開啟模式

r 以唯讀許可權開啟檔案,如果不存在則開啟失敗。

r+ 在r的基礎上增加寫許可權

w 以只寫許可權開啟檔案,如果檔案不存在則新建,如果檔案存在則清空。

w+ 在w的基礎上增加讀許可權

a 以只寫許可權開啟檔案,如果檔案不存在則新建,如果檔案存在不清空,新寫入的資料在檔案的末尾。

a+ 在a的基礎上增加讀許可權

以上方式是以文字形式操作檔案,在它們基礎上加b表示以純二進位制形式操作檔案。

返回值:結構指標,不需要關心它的成員,只需要知道它是操作檔案的憑證。

二進位制方式讀寫

size_t fwrite(const void *ptr, size_t size, size_t nmemb,

file *stream);

功能:把記憶體中的資料寫入到檔案中

size:一次寫入多少位元組

nmemb:寫入多少次

stream:檔案指標,fopen的返回值

返回值:成功寫入的次數

size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);

功能:從檔案中讀取資料到記憶體

size:一次讀取多少位元組

nmemb:讀取多少次

stream:檔案指標,fopen的返回值

返回值:成功讀取到的次數

文字讀寫方式:

int fprintf(file *stream,const char *format,…);

功能:以文字形式寫入資料檔案

stream:要寫入的檔案

format:佔位符和提示資訊

…:變數名

返回值:成功寫入的位元組數

int fscanf(file *stream,const char *format,...);

功能:從檔案中讀取資料到變數

stream:要讀取的檔案

format:佔位符

返回值:成功寫入的位元組數

int fclose(file *fp);

功能:關閉檔案

檔案位置指標:

每個開啟的檔案都有乙個指標記錄著操作的位置,它會隨著讀寫函式而移動,以r、r+、w、w+開啟的檔案位置指標在開頭,

以a、a+開啟的檔案位置指標再末尾

如果想隨機讀取檔案的任何位置資料需要手動設定檔案的位置指標

int fseek(file *stream,long offset,int whence);

功能:設定檔案的指標位置

stream:要設定的檔案

offset:偏移值

whence:基礎位置

seek_set 檔案開頭

seek_cur 當前位置

seek_end 檔案末尾

返回值:成功返回0,失敗返回-1。

void rewind(file *stream);

功能:把檔案位置指標設定到開頭

long ftell(file *stream);

功能:獲取檔案位置指標的位置

返回值:第幾個位元組

int feof(file *stream);

功能:檢查檔案位置指標是否到達末尾。

返回值:0說明到達檔案末尾

char *fgets(char *s, int size, file *stream);

功能:從檔案中讀取一行字串

int fputs(const char *s, file *stream);

功能:寫入乙個字串到檔案,會自動新增乙個\n

返回值:成功讀取到的字元個數

int fputc(int c, file *stream);

功能:寫入乙個字串

返回值:成功返回定稿的字元,失敗返回-1。

int fgetc(file *stream);

功能:從檔案中讀取乙個字元

返回值:失敗返回-1

int remove(const char *pathname);

功能:刪除檔案

返回值:成功返回0,失敗返回-1。

int rename(const char *old, const char *new);

功能:重新命名檔案

返回值:成功返回0,失敗返回-1。

文字檔案內容相關命令

1 檢視文字檔案內容命令cat 命令格式 cat option filename cat命令常用的選項只有v,其功能是顯示檔案內容的同時,也顯示檔案中的控制字元,這個選項可以非常方便的檢視指令碼中不能識別的控制字元。2 從文字尾檢視文字內容命令tail 預設檢視檔案的最後10行 tail命令是從文字...

ORACLE相關內容

1 em,dbca,netca,netmgr出現亂碼方案 cd oracle home jre lib mv font.properties font.properties.bak mv font.properties.zh font.properties em,dbca,netca,netmgr詳...

JVM相關內容

本地 native code 每個因素對記憶體占用的影響又會隨著應用程式 執行環境和系統平台的不同而變化,那怎樣計算總的記憶體佔用量?是的,想得到乙個準確的數字不是那麼容易,因為 你很難控制本地 native 部分。你能控制的部分只有堆大小 xmx,類占用的記憶體 xx maxpermsize,還有...