命名您自己的文件

时间:2015-05-24 10:07:08

标签: c file-io

fopen()可以命名你自己的文件吗?例如

printf("Enter the name of the file you want to create");
scanf("%s", &name);

然后我希望扫描的名称是我想要创建的文件的名称。有没有办法做到这一点?我知道你可以

fp = fopen("name of file.txt","w or a")

但是如果用户要求提供文件名称呢?

1 个答案:

答案 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