Linux檔案操作程式設計
阿新 • • 發佈:2019-01-03
普通檔案的操作:open, close, read, write, lseek, stat, remove(unlink), chown, chmod, umask, rename,access。
access("./data", F_OK); //判斷檔案是否存在 umask(0447); //設定檔案建立許可權掩碼 int fd=open("./data",O_WRONLY|O_RDONLY|O_CREAT,0647); //已讀寫建立的方式開啟檔案 chmod("./data",0444); //設定檔案許可權 chown("./data",0,0); //設定檔案所有者 write(fd,&str,sizeof(str)); //寫檔案 lseek(fd,2,SEEK_SET); //設定讀寫腳標 read(fd,str,sizeof(str)); //讀檔案 close(fd); //關閉檔案 remove("./data"); //刪除檔案
目錄的操作:mkdir, remove(rmdir), rename
//遍歷檔案加的實現 int dir_trav(const char *const dir) { if(dir == NULL) { return -1; } mkdir(dir ,0666); rmdir(dir ); struct stat st; if(-1!=stat(dir ,&st)) { if(S_ISREG(st.st_mode)) { printf("這是一個普通檔案!\n"); printf("檔案大小:%d Byte\n",st.st_size); return -1; } else if(S_ISDIR(st.st_mode)) { printf("這是一個目錄!\n"); } } DIR* p=opendir(dir ); struct dirent* de=NULL; while((de=readdir(p))!=NULL) printf("%s\n",de->d_name); closedir(p); return 0; }