允许用户在c中命名文件

时间:2017-11-05 17:58:45

标签: c

嘿伙计那么有没有办法写一段代码,允许用户命名正在创建的文件?所以例如在我的代码中我有

File * ftpr
ftpr = fopen("my path/filenameiwanthere.txt", "w");

所以在我写的区域"我想要的文件名"我能否包含一个没有任何空格的字符串文字,以便用户可以创建文件的名称? 例如,我在考虑像

这样的东西
printf("What would you like to save this file under?);
scanf("%s", filename);

如果他们插入" car1" 我希望上面基本上阅读

ftpr = fopen("mypath/car1.txt.", "w");

所以这里的想法是我有一个朋友拥有一辆详细介绍商业的汽车,他们所做的一切都是笔和纸。客户名称,汽车,车牌,需要花多少钱,需要做什么,谁在车上工作,等等等等。但它完全没有组织,所以为了帮助/加强我的编程技巧,我想写一些有用的东西。我知道我到底要做什么。我只是想知道是否有办法将文件名保存为他们喜欢的东西。因此,如果他们在他们的台式计算机上工作,我可以有一个文件夹说"汽车"或者在该文件夹中的任何内容将是具有所需名称的多个文件以及汽车的所有信息。谢谢你们。

1 个答案:

答案 0 :(得分:-2)

您可以使用strcat()函数连接两个char数组:

char fileName[10];
char path[50] = "myFilePath/";
scanf("%s", &fileName);
char *finalFileName = (char*) malloc(strlen(fileName));

for(i=0; i < strlen(fileName); i++){
    finalFileName += fileName[i];
    finalFileName++;
}
strcat(path, finalFileName);

//Now your final path with the given file name is in path.
//i.e, path = "myFilePath/finalFileName.txt"

希望这有帮助,随时问。