1、檔案描述符
stdin_fileno 0 標準輸入
stdout_fileno 1 標準輸出
stderr_fileno 2 標準錯誤
2、系統函式 open() close() 開啟、關閉檔案//該包含的標頭檔案
#include
#include
#include
#include
int open(const
char* pathname, int flags);
//flags :
int close(int fd);
3、顯示出錯資訊#include
#include
if(fd == -1)
4、系統函式 read()、write()讀寫檔案
ssize_t read (int fd,void *buf,size_t count);
//成功則返回讀取的位元組數,讀到eof返回0,失敗返回-1
ssize_t write (int fd,void *buf,size_t count);
//讀檔案的**
int main(int arg, char *args)
else
close(fd);
}return
0;}
//寫檔案的**
int main(int arg, char *args)
else
return
0;}
5、fstat() stat() 的使用int fstat (int fd, struct stat * buf)
//引數fd必須是用open呼叫返回的有效檔案描述符
int stat (const
char* path, struct stat * buf)
//引數path必須是檔案路徑
struct stat ;
std_mod成員:
s_isreg(m) is it
a regular file?
s_isdir(m) directory?
s_ischr(m) character device?
s_isblk(m) block device?
s_isfifo(m) fifo (named pipe)?
s_islnk(m) symbolic link? (not in posix.1-1996.)
s_issock(m) socket? (not in posix.1-1996.)
//得到檔案狀態**
int main(int arg, char *args)
else
if (s_isdir(buf.st_mode))//判斷檔案是否為目錄
printf("%s size =%d\n", args[1], buf.st_size);//得到檔案大小
close(fd);
}return
0;}
關閉回顯:
char* getpass (const
char *prompt)
//引數prompt為螢幕提示字元
//函式返回值為使用者鍵盤輸入的字串
int main ()
5、c語言庫函式fopen()、fclose()開啟、關閉檔案file *p fopen (const
char *path,const
char * mode);
//fopen 以mode模式開啟名為path的檔案
//fopen 返回乙個檔案指標
//出現錯誤,fopen返回null,並把errno設定為恰當的值
//mode 說明:r r+ w w+ a a+
int fclose(file* stream);
6、c語言庫函fread()、fwrite()數讀寫檔案size_t fread(void *ptr,size_t size,size_t nmemb,file * stream);
size_t fwrite(void *ptr,size_t size,size_t nmemb,file * stream);
//引數ptr指向緩衝區儲存或讀取的資料
//引數size 控制記錄大小
//引數nmemb為記錄數
//函式返回讀取或回寫的記錄數
//原則上第二個引數*第三個引數不要大於第乙個引數的buf的大小
//c庫函式讀取檔案的**
int main(int arg, char *args)
else
printf("rc = %d\n", rc);
fclose(p);
}return
0;}
//c庫函式讀寫二進位制檔案的**
struct person
;int fwrite(int arg, char *args)
else
return0;}
int fread(int arg, char *args)
else
fclose(p);
}return
0;}
7、行輸入和行輸出char fgets(char *s,int size,file *stream);
intfputs(const
char *s,filee *stream);
//fgets 從檔案中讀取一行,返回eof代表檔案結束
//fputs 向檔案中寫入一行
8、檔案刪除改名函式int remove (const
char* pathname);
int rename(const
char* oldpath,const
char *newpath);
9、找到當前目錄char * getcwd(char *buf,size_t size)
//getcwd函式把當前的工作目錄返回
10、獲得目錄列表#include
dir * opendir(const
char * pathname)
//開啟目錄檔案
struct dirent * readdir(dir * dir)
//讀出目錄檔案內容
int closedir(dir * dir)
//關閉目錄檔案
//讀目錄的**
int main(int arg, char *args)
while((dirp = readdir(dp)) != null)//用readdir迴圈讀取目錄內容,讀到目錄尾,迴圈break
closedir(dp);//關閉目錄
return
0;}
linux 檔案操作
1 cat 開啟檔案 cat name.txt 開啟檔案name.txt cat 1.txt 2.txt 開啟2個檔案 cat n name.txt 開啟檔案後顯示行號 2 vi 輸出,刪除,查詢,替換,塊操作 等文字操作 vi 的三種基本工作模式 命令列模式,文字輸入模式,末行模式 命令列模式 不...
Linux 檔案操作
1,查詢檔案 find name 名稱 ls find atime 10 記著有乙個點號 兩邊都有空格,代表當前目錄,如果希望顯示系統的所有大於10天的檔案 可以將 換成 代表根目錄 find mtime n print n天前那天改過的檔案 find mtime n print n天以前改過的檔案...
linux檔案操作
unix檔案操作 讀寫操作 標c檔案讀寫 file 代表乙個開啟的檔案 unix linux的檔案讀寫函式 linux系統中 幾乎一切都是檔案,記憶體 目錄 硬體裝置都可以看成檔案。比如 記憶體 對應目錄 proc pid 目錄 可以用 vi 檢視,也是檔案 裝置 dev tty 鍵盤 顯示器 de...