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个元素是程序名,后面的元素是用户输入的参数

      

  • 相关阅读:
    sql server 错误9003:LSN无效(日志扫描号无效),对数据库的修复.
    用C#调用C++DLL时的字符串指针参数传递问题
    sql server 2005中的Service broker小示例(未完善)
    水晶报表钻取数据,在明细层导的时候,报表会从新加载,并显示主报表
    [转]gridview获取当前行索引的方法
    验证视图状态 MAC 失败的解决办法
    SQL SERVER 2005中对存储过程进行签名(转)
    MSChart图表控件的一些使用
    Repository模式
    职能式管理和流程式管理
  • 原文地址:https://www.cnblogs.com/SwiftAero/p/6274574.html
Copyright © 2011-2022 走看看