fopen()可以命名你自己的文件吗?例如
printf("Enter the name of the file you want to create");
scanf("%s", &name);
然后我希望扫描的名称是我想要创建的文件的名称。有没有办法做到这一点?我知道你可以
fp = fopen("name of file.txt","w or a")
但是如果用户要求提供文件名称呢?
答案 0 :(得分:3)
将变量用作fopen()
fgets(name, sizeof name, stdin);
name[strlen(name) - 1] = 0; // remove ENTER from name
fp = fopen(name, "w");
// error checking ommited for brevity
如果你想添加" .txt"扩展到输入,例如使用strcat()
fgets(name, sizeof name - 4, stdin); // save space for extension (thanks Cool Guy)
name[strlen(name) - 1] = 0; // remove ENTER from name
strcat(name, ".txt"); // add extension
fp = fopen(name, "w");
// error checking ommited for brevity