如何在用户指定的文件夹中创建文件夹和文件?
这是我职能的一部分:
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);
}
答案 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"