檔案io
開啟-》操作-》關閉
開啟檔案,獲取檔案描述符
#include
#include
#include
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
功能:開啟檔案,獲取檔案描述符
引數:pathname 檔案的路徑
flags o_rdonly 唯讀
o_wronly 只寫
o_rdwr 可讀可寫
以上三者關係:互斥
int close(int fd);
功能:關閉檔案
引數:fd 檔案描述符
返回值:成功0 失敗-1
系統預設開啟了三個檔案描述符
0 1 2
標準輸入 標準輸出 標準出錯
讀寫#include
ssize_t read(int fd, void *buf, size_t count);
功能:從檔案描述符中讀
引數:fd 檔案描述符
buf 讀到的資料的存放位置
count 期望讀到的位元組數
返回值:成功讀到的位元組數(0代表到達檔案結尾) 失敗-1
#include
ssize_t write(int fd, const void *buf, size_t count);
功能:向檔案描述符中寫
引數:fd 檔案描述符
buf 要寫的內容
count 期望寫的位元組數
返回值:成功實際寫入的位元組數(0代表什麼也沒有寫) 失敗-1
練習:使用檔案io實現檔案的拷貝
1.open 兩個檔案,注意引數
2.迴圈讀寫
3.close
檔案io的偏移和定位
#include
#include
off_t lseek(int fd, off_t offset, int whence);
功能:檔案io的偏移和定位
引數:fd 檔案描述符
offset 偏移量
whence seek_set 開頭位置
seek_cur 當前位置
seek_end 結尾位置
返回值:成功返回偏移量 失敗-1
獲取檔案的資訊(屬性)
#include
#include
#include
int stat(const char *path, struct stat *buf);
int fstat(int fd, struct stat *buf);
int lstat(const char *path, struct stat *buf);
功能:獲取檔案的資訊
引數:path 檔案的路徑
buf 存放獲取的資訊
返回值:成功0 失敗-1
stat 如果檔案是鏈結檔案,它獲取的是目標檔案的資訊
lstat 如果檔案是鏈結檔案,它獲取的是鏈結檔案的資訊
struct stat ;
char *ctime(const time_t *timep);
功能:實現時間的轉換
引數:時間的秒數
返回值:成功返回乙個字串,失敗null
#include
#include
struct group *getgrgid(gid_t gid);
功能:通過組id獲取組的資訊
引數:gid 組id
返回值:成功返回資訊結構體指標,失敗null
#include
#include
struct passwd *getpwuid(uid_t uid);
功能:通過使用者id獲取使用者資訊
引數:uid 使用者id
返回值:成功返回資訊結構體指標,失敗null
目錄相關操作
#include
#include
dir *opendir(const char *name);
功能:開啟乙個目錄,獲取目錄流
引數:name 目錄的路徑名
返回值:成功返回目錄流,失敗null
#include
#include
int closedir(dir *dirp);
功能:關閉目錄流
引數:dirp 要關閉的目錄流
返回值:成功0 失敗-1
#include
struct dirent *readdir(dir *dirp);
功能:讀目錄
引數:dirp 目錄流
返回值:成功返回結構體指標,失敗返回null
struct dirent ;
華清遠見嵌入式學習day20 UDP
atoi 將字串轉化為整數 struct sockaddr in serveraddr 終端輸入去 n fgets buf,sizeof buf stdin buf strlen buf 1 0 吃點 n 獲取客戶端ip位址和埠號 struct sockaddr in clientaddr acce...
華清遠見嵌入式培訓 所言非虛!
我起先也是不信的,但是最後的相信卻讓我在2019年的就業洪流中站穩了腳跟。不得不說,嵌入式培訓的學習過程,就像一條又一條正太曲線的首尾無縫鏈結。從沒有興趣到興趣盎然。大部分同學,在這苦悶的房間裡都找到了一點知識的趣味性。學了這個面試能不能底氣足一些?能的!幾近全部同學在四個月苦悶但是有趣的學習時間過...
作者 王姍姍,華清遠見嵌入式學院講師。
先來了解下什麼是標準 以及檔案 標準 標準i o是ansi c建立的乙個標準i o模型,是乙個標準函式包和stdio.h標頭檔案中的定義,具有一定的可移植性。標準io庫處理很多細節。例如快取分配,以優化長度執行io等。標準的io提供了三種型別的快取。1 全快取 當填滿標準io快取後才進行實際的io操...