檔案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,還有...