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