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 讀取的...