關於檔案讀寫操作

2021-08-29 22:55:57 字數 1418 閱讀 6894

朱老師嵌入式核心課程筆記

檔案讀寫操作

#include//使用man查詢得出檔案讀寫api所需要的標頭檔案

//man 1 xx查linux shell命令,man 2 ***查api, man 3 ***查庫函式

#include#include#include#include#include int main()

;char writebuf[20] = "hello man";

//開啟檔案

fd = open("a.txt", o_rdwr);

if(-1 == fd) //也可以寫成if(fd < 0),開啟正確,則返回乙個新的檔案描述符,否則返回-1

else

//讀寫檔案

//寫檔案

ret = write(fd, writebuf, strlen(writebuf));

if(-1 == ret)

else

//讀檔案

ret = read(fd, buf, 20);

if(-1 == ret)

else

//ssize_t write(int fd, const void * buf, size_t count);

//ssize_t read(int fd, void * buf, size_t count); //ssize_t型別是typedef重定義的乙個型別,其實就是int

//關閉檔案

close(fd);

return fd;

}

ⅰ. errno 和 perror

① errno,錯誤號碼,對各種錯誤做編號,當函式執行錯誤時,函式返回特定編號告知錯誤;

② errno,由os維護的乙個全域性變數;

③ errno,本質是乙個int型別的數字,由數字對應錯誤;

④ perror,為使數字對應相應錯誤,linux提供乙個函式perror(printf error), perror函式內部讀取error並且將相應數字對應的錯誤列印顯示;

⑤ perror,可借用該函式得出錯誤原因,perror(" *** 錯誤 「); 代替 printf(」 ***錯誤 ");

ⅱ. 檔案i/o和標準i/o

① 檔案i/o,open,close,read,write等api函式構成的一套用來讀寫檔案的體系,效率不夠高;

② 標準i/o,應用層c語言庫封裝的檔案讀寫函式(fopen,fclose,fread,fwrite),在應用層新增了乙個buf,fwrite寫入的內容不會直接存入核心buf中,而是進入應用層標準i/o庫中的buf,根據os單次count來選擇好的時機來完成write到核心中的buf,再根據硬碟特性來選擇時機寫入到硬碟中。

python 關於檔案讀寫常用操作

st size 5 檔案編碼和檔案編碼錯誤處理 f open test.txt r encoding gbk errors ignore 檔案操作 r 讀 open r w 寫 open w a 追加 open a r r w 可讀可寫,檔案若不存在就報錯 ioerror open r w w r ...

檔案操作 讀寫檔案

對檔案的讀寫操作應該是最重要的檔案操作,system.io命名空間提供了諸多檔案讀寫操作類,對檔案內容進行操作常見有3種方式 文字模式 二進位制模式以及非同步模式。1 文字模式 streamreader 和streamwriter類提供了按文字模式讀寫資料的方法。1.1 streamreader 類...

讀寫檔案操作

匯入領導簡歷資訊 return public string leaderresumeimport throws ioexceptionelse if fr null fr.close if flag else fw.close string sjson outputclient sjson retu...