1. 程式人生 > >Linux檔案操作程式設計

Linux檔案操作程式設計

普通檔案的操作: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;
}