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

      

  • 相关阅读:
    组播技术
    高阶函数
    《统计学习方法》第一章学习笔记
    R代码规范(转)
    数据挖掘与商业智慧:华通二十年专题----台湾辅仁大学谢邦昌教授访谈(转载)
    基于Hadoop的机器学习开源项目
    特征选择算法之开方检验(转载)
    朴素贝叶斯算法及不同特征值结果的比较
    走出数据挖掘的误区(转载)
    互联网时代的社会语言学:基于SNS的文本数据挖掘(转载)
  • 原文地址:https://www.cnblogs.com/SwiftAero/p/6274574.html
Copyright © 2020-2023  润新知