我想打开“../ab cd / Output”文件夹中的文件abc.txt。 到目前为止我所做的是:
char temp1[100], temp2[10] = "abc.txt";
strcpy(temp1, "../ab\ cd/Output/");
FILE *fp_minenergy = fopen(strcat(temp1, temp2), "r");
执行它会产生分段错误。
答案 0 :(得分:1)
问题应该只是文件路径本身
fopen("../ab cd/Output/abc.txt", "r");
您的实际path无效" ../ ab \ cd /输出/ abc.txt",您不需要逃离这里。
答案 1 :(得分:0)
char dirname[51] = "/the/directory";
char filename[51] = "the_file_name.txt";
char full_name[101] = strcat("/the/directory","/");
char full_name = strcat(full_name,filename);
FILE *fp_minenergy = fopen(full_name, "r");
我为/添加了一个额外的strcat,因为我不知道目录名的来源。有人可以在没有尾随/的情况下指定它。如果他们在名称中指定/,则不会受到伤害。
/ dir / one 等于 dir //两个