linux c创建文件夹

整体思路:

大体上是先看看存不存在flow这个文件夹 如果不存在就创建。

1.C语言判断文件是否存在

用函数access,原型:int   access(const   char   *filename,   int   amode);

amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。

2.#include <sys/stat.h>

#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

参数:pathname:新目录路径名。

      mode:访问权能(mode & ~umask &0777)。

创建的时候是在文件夹flow下 所以路径为“flow // XXX.txt”的形式。因为时间开始的时候是在txtname.txt里面的,而路径是在pathname中存储的,所以要用数组将两个字符串连接起来。

  
  
  
  
  1. #include <sys/stat.h> 
  2. #include<stdio.h> 
  3. #include<time.h> 
  4. #include<sys/types.h> 
  5.  
  6. int main() 
  7.     char txtname[100]; 
  8.     *txtname='005';//这句将结果转变为字符串 
  9.   
  10.     if(access("flow",0)==-1)//access函数是查看文件是不是存在 
  11.     { 
  12.         if (mkdir("flow",0777))//如果不存在就用mkdir函数来创建 
  13.         { 
  14.             printf("creat file bag failed!!!"); 
  15.         } 
  16.     } 
  17.  
  18.     char pathname[100]; 
  19.     pathname[0]='f'; 
  20.     pathname[1]='l'; 
  21.     pathname[2]='o'; 
  22.     pathname[3]='w'; 
  23.     pathname[4]='/'; 
  24.     pathname[5]='/'; 
  25.      
  26.     int i; 
  27.     for(i=0;txtname[i]!='\0';i++) 
  28.     { 
  29.         int j=6+i; 
  30.         pathname[j]=txtname[i]; 
  31.     } 
  32.     pathname[i+6]='.'; //这几句是加上后缀 .txt的 
  33.  
  34.     pathname[i+8]='t'; 
  35.     pathname[i+9]='x'; 
  36.     pathname[i+10]='t'; 
  37.     pathname[i+11]='\0';//最后别忘记加上这个 
  38.      
  39.     FILE  *fp; 
  40.     if((fp=fopen(pathname,"w"))==NULL)//打开文件 没有就创建 
  41.     { 
  42.         printf("文件还未创建!\n"); 
  43.     } 
  44.  
  45.     fprintf(fp,"创建成功"); 
  46.     fclose(fp); 
  47.     return 0; 
  48.  
  49. /////////////////////////////////////////////////////////////////////////////////////////////// 
  50. #include <sys/stat.h> 
  51. #include<stdio.h> 
  52. #include<time.h> 
  53. #include<sys/types.h> 
  54.  
  55. int main() 
  56.  
  57. //获取当前时间的函数 
  58.   time_t nowtime; 
  59.   struct tm *timeinfo; 
  60.    time(&nowtime); 
  61.   timeinfo=localtime(&nowtime); 
  62.   //int year,month,day; 
  63.   //year=timeinfo->tm_year+1900; 
  64.   //month=timeinfo->tm_mon+1; 
  65.   //day=timeinfo->tm_mday; 
  66.   
  67.   char txtname[100]; 
  68.   * txtname=*asctime(timeinfo);//这句将结果转变为字符串 
  69.   
  70.   if(access("flow",0)==-1)//access函数是查看文件是不是存在 
  71.   { 
  72.     if (mkdir("flow",0777))//如果不存在就用mkdir函数来创建 
  73.    { 
  74.     printf("creat file bag failed!!!"); 
  75.    } 
  76.   } 
  77.   
  78.   char pathname[100]; 
  79.   pathname[0]='f';  pathname[1]='l';//这里是单引号,第一次的时候写成双引号了, 
  80.   pathname[2]='o';  pathname[3]='w'; 
  81.   pathname[4]='/';  pathname[5]='/'; 
  82.   
  83.   int i; 
  84.   for(i=0;txtname[i]!='\0';i++) 
  85.   { 
  86.     int j=6+i; 
  87.     pathname[j]=txtname[i]; 
  88.   } 
  89. pathname[i+6]='.'; //这几句是加上后缀 .txt的 
  90.  
  91.   pathname[i+8]='t'; 
  92.   pathname[i+9]='x'; 
  93.   pathname[i+10]='t'; 
  94.   pathname[i+11]='\0';//最后别忘记加上这个 
  95.  
  96.   FILE  *fp; 
  97.   if((fp=fopen(pathname,"w"))==NULL)//打开文件 没有就创建 
  98.   { 
  99.    printf("can not creat txt file!\n"); 
  100.   
  101.   } 
  102.  
  103.   fprintf(fp,"hello the first created txt! successed!!!"); 
  104.   fclose(fp); 

 

 

 

你可能感兴趣的:(c,linux,创建文件夹)