Linux文件编程(系统调用1)

来源:互联网 发布:周杰伦 四面楚歌 知乎 编辑:程序博客网 时间:2024/05/01 15:57

创建文件

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> void  create_file(char *filename){ /*创建的文件具有什么样的属性?  0:此处为占位符;  7:文件所有者;  5:文件所有者所在组;  5:其他用户;*/    if(creat(filename,0755)<0){         printf("create file %s failure!\n",filename);         exit(EXIT_FAILURE);     }else{         printf("create file %s success!\n",filename);     } } int main(int argc,char *argv[]){     int i;     if(argc<2){         perror("you haven't input the filename,please try again!\n");         exit(EXIT_FAILURE);     }     for(i=1;i<argc;i++){         create_file(argv[i]);        }     exit(EXIT_SUCCESS); } 

打开文件

#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int main(int argc ,char *argv[]){    int fd;    if(argc<2){        puts("please input the open file pathname!\n");        exit(1);    }        //如果flag参数里有O_CREAT表示,该文件如果不存在,系统则会创建该文件,该文件的权限由第三个参数决定,此处为0755    //如果flah参数里没有O_CREAT参数,则第三个参数不起作用.此时,如果要打开的文件不存在,则会报错.    //所以fd=open(argv[1],O_RDWR),仅仅只是打开指定文件    if((fd=open(argv[1],O_CREAT|O_RDWR,0755))<0){        perror("open file failure!\n");        exit(1);    }else{        printf("open file %d  success!\n",fd);    }    close(fd);    exit(0);    }