C创建用户指定的文件和文件夹

时间:2016-05-12 18:33:04

标签: c file directory

如何在用户指定的文件夹中创建文件夹和文件?

这是我职能的一部分:

char* folder = *(argv + 2); //"C:\\Users\\User\\Desktop\\New folder";
if (!(log = fopen("folder\\file.txt", "a")))// checking if there is any problem with the file
    {
        printf("The log file has not created correctly, closing the program\n");
        system("PAUSE");
        exit(1);
    } 

2 个答案:

答案 0 :(得分:1)

要么我不明白你的问题,要么太简单了。我们假设它太简单了。然后你就可以这样做:

char filename[1024];
FILE *logfp;
sprintf(filename, "%s\\file.txt", argv[2]);
if ((logfp=fopen(filename,"w")==NULL) {
    //...error etc.

注意:这假设路径中的所有目录都存在。

答案 1 :(得分:1)

不确定如何将参数传递给命令。这假设用户只输入一个参数,该参数是要创建的文件的路径。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc,char* argv[])
{
        char string[100]={'\0'};
        FILE* fp;
        if(argc==2)
          snprintf(string,(size_t)100,"%s\\filename",argv[1]);
        else{
          printf("Usage : .\\executable_name \"path\"");
          exit(-1);
        }
        fp=fopen(string,"a"); # Opening file in append mode.
        if (fp==NULL){
                printf("Can't create file");
                exit(-1);
        }
        else{
                fprintf(fp,"%s","teststring\n");
        }
        fclose(fp);
        return 0;
}

将此项运行为:

.\executable_name "C:\Users\SomeUser"