【发布时间】:2017-12-02 04:48:35
【问题描述】:
我正在开发一个用户输入文件路径的程序,然后将带有文件名的附加字符串连接到该程序。我将把它用于同一目录中的多个文件。 我使用 printf 语句只是为了查看操作是否有效,但是当显示输出时文件路径打印两次,然后在末尾添加文件名。例如
输入文件路径为C:\Documents\
输出出来C:\Documents\C:\Documents\HR_1.txt
如何纠正?
相关代码如下
int main()
{
char folder[50]="";
printf("Please type file location\n");
printf("An example of file location is C:\\Documents\\projects\\[Folder]\\");
printf("\n");
scanf("%s",folder);
printf(folder);
/*Clearing Heart rate file names, opening file*/
FILE*HR1=NULL;
printf(strcat(folder,"HR_1.txt"));
}
}
【问题讨论】:
-
请发布完整的代码来重现上述输出以及您的输入。
-
欢迎来到 Stack Overflow。请尽快阅读 About 和 How to Ask 页面,但更重要的是,请阅读有关如何创建 MCVE (minimal reproducible example) 的信息。您需要展示声明,以及一个完整(但最少)的程序来说明您面临的问题。
-
我已经添加了我的完整代码。此外,每当我只打印
folder时,输出与用户输入的完全相同 -
请注意,当您对选项 1 代码感兴趣时,最小示例不会影响菜单打印或获取选项。请返回并重新阅读 MCVE 指南。注意:“最小”的意思是“如果不停止问题的重现,就无法删除任何东西”。
-
请注意,您还没有展示如何定义变量
folder。有很多方法做错了。
标签: c string file filepath data-manipulation