zoukankan      html  css  js  c++  java
  • Linux系统编程初探系列之一:文件编程

    系统函数 int creat(const char* filename,mode_t mode)

    filename:需要创建的文件名(包含路径,缺省为当前路径)

    mode:创建模式

    常见的创建模式有:S_IRUSR------可读

             S_IWUSR-----可写

             S_IXUSR-----可执行

             S_IRWXU-----可读、可写、可执行

    除了用上述宏 还可以用数字来表示文件的访问权限

              1------->可执行

              2------->可写

              4------->可读

              6------->可读可写

              7------->可读可写可执行

              0------->无任何权限

     1 #include <stdio.h> 
     2 #include <stdlib.h>
     3 #include <sys/types.h> 
     4 #include <sys/stat.h> 
     5 #include <fcntl.h> 
     6 
     7 void  create_file(char *filename)
     8 { 
     9     /*创建的文件具有可读可写的属性*/    
    10     if(creat(filename,0666)<0)
    11     { 
    12         printf("create file %s failure!
    ",filename); 
    13         exit(EXIT_FAILURE); 
    14     }
    15     else
    16     { 
    17         printf("create file %s success!
    ",filename); 
    18     } 
    19 } 
    20 
    21 int main(int argc,char *argv[])
    22 { 
    23     /*判断入参有没有传入文件名 */
    24     if(argc<2)
    25     { 
    26         printf("you haven't input the filename,please try again!
    "); 
    27         exit(EXIT_FAILURE); 
    28     } 
    29     for(i=1;i<argc;i++)
    30     {
    31         create_file(argv[1]); 
    32     }
    33     exit(EXIT_SUCCESS); 
    34 }            

    程序点评:

    1.creat(filename,0666) -------666的权限分别对应于文件所有者,文件所有者所在组,其他用户

    2.int main(int argc,char*argv[])----------------在执行程序的时候,argc是输入参数个数,argv[]是保存着文件名(本质是字符串地址)

      所以在执行程序时,在命令端输入   ./file_creat test  才能创建文件

      argc 命令行的总的参数个数(即使 运行程序./file_creat 后面没有文件,个数也是1)

      记录了用户在运行程序的命令行中输入的参数的个数

      argv[]存储argc个指针变量的数组

      其中第0个元素是程序名,后面的元素是用户输入的参数

      

  • 相关阅读:
    error while loading shared libraries: libhwloc.so.5: cannot open shared object file: No such file or directory
    Mac刷新DNS,修改/etc/hosts立即生效
    zxing生成识别二维码
    电脑M2接口不是磁盘0问题
    WSL
    Ubuntu安装Docker
    Win10关闭自动更新和防护
    Mysql的5种日志
    开发常用工具Windows
    log4j2高危漏洞
  • 原文地址:https://www.cnblogs.com/SwiftAero/p/6274574.html
Copyright © 2011-2022 走看看