linux作業系統下c語言程式設計入門 檔案操作

2021-04-12 18:44:39 字數 2248 閱讀 4532

linux作業系統下c語言程式設計入門--檔案操作

提供了大量的目錄操作函式,我們學習幾個比較簡單和常用的函式.

#include 

#include 

#include 

#include 

#include 

int mkdir(const char *path,mode_t mode);

dir *opendir(const char *path);

struct dirent *readdir(dir *dir);

void rewinddir(dir *dir);

off_t telldir(dir *dir);

void seekdir(dir *dir,off_t off);

int closedir(dir *dir);

struct dirent 

if(s_isdir(statbuf.st_mode))return(1);

if(s_isreg(statbuf.st_mode))

printf("%s size:%ld bytes/tmodified at %s",

filename,statbuf.st_size,ctime(&statbuf.st_mtime)); 

return(0);

}int main(int argc,char **argv)

if(((stats=get_file_size_time(argv[1]))==0)||(stats==-1))exit(1);

if((dirp=opendir(argv[1]))==null)

while((direntp=readdir(dirp))!=null)

if(get_file_size_time(direntp-linux

提供了許多的過濾和重定向程式,比如more cat

等等.還提供了< > | 《等等重定向操作符.在這些過濾和重 定向程式當中,都用到了管

道這種特殊的檔案.系統呼叫pipe可以建立乙個管道.

#include

int pipe(int fildes[2]);

pipe呼叫可以建立乙個管道(通訊緩衝區).當呼叫成功時,我們可以訪問檔案描述符fild

es[0],fildes[1].其中fildes[0]是用來讀的檔案描述符,而fildes[1]是用來寫的檔案描

述符.在實際使用中我們是通過建立乙個子程序,然後乙個程序寫,乙個程序讀來使用的.

關於程序通訊的詳細情況請檢視程序通訊

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#define buffer 255

int main(int argc,char **argv)

if(pipe(fd)!=0)

if(fork()==0)

else

}為了實現重定向操作,我們需要呼叫另外乙個函式dup2.

#include 

int dup2(int oldfd,int newfd);

dup2將用oldfd檔案描述符來代替newfd檔案描述符,同時關閉newfd檔案描述符.也就是說

,所有向newfd操作都轉到oldfd上面.下面我們學習乙個例子,這個例子將標準輸出重定向

到乙個檔案.

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#define buffer_size 1024

int main(int argc,char **argv)

if((fd=open(argv[1],o_wronly|o_creat|o_trunc,s_irusr|s_iwusr))==-1)

if(dup2(fd,stdout_fileno)==-1)

fprintf(stderr,"now,please input string");

fprintf(stderr,"(to quit use ctrl+d)/n");

while(1)

exit(0);

}好了,檔案一章我們就暫時先討論到這裡,學習好了檔案的操作我們其實已經可以寫出一

些比較有用的程式了.我們可以編寫乙個實現例如dir,mkdir,cp,mv等等常用的檔案操作

命令了.

linux作業系統下c語言程式設計入門 執行緒操作

linux作業系統下c語言程式設計入門 執行緒操作 前言 linux下執行緒的建立 介紹在linux下執行緒的建立和基本的使用.linux下的執行緒是乙個非常複雜的問題,由 於我對執行緒的學習不時很好,我在這裡只是簡單的介紹執行緒的建立和基本的使用,關於線 程的高階使用 如執行緒的屬性,執行緒的互斥...

linux作業系統下c語言程式設計入門 執行緒操作

執行緒的建立和使用執行緒的建立是用下面的幾個函式來實現的.include int pthread create pthread t thread,pthread attr t attr,void start routine void void arg void pthread exit void r...

Linux下 C語言檔案IO操作(系統IO)

函式 int open const char int flags 開啟乙個已經存在的檔案 int open const char int flags,mode t mode 開啟乙個不存在的檔案 標頭檔案 include 引數1 待讀取的檔案的檔案描述符 引數2 讀取資料儲存的buf 引數3 讀取的...