我已经成功创建了一个测验程序,它首先要求用户输入他们的名字。
测验结束后,分数首先打印到屏幕上,然后打印到 username.txt 文件中。
意思是,实际的用户名,例如John.txt或Amy.txt或bob.txt。
现在,我已经预定义了
report_file = fopen ("username.txt","w");
这 100% 有效,但自然地,每次为不同的人运行测验并记录到文件中时,我都无法正确识别文件。
我看到了有关 sprintf、snprintf、ofstream、istream 等的建议。
对我来说,所有这些都是新概念,不知道如何继续前进......任何帮助将不胜感激。
如果有人想要或关心看到我的程序,这非常好,我很乐意分享,但不打算在寻求帮助期间给任何人增加阅读我的整个程序的负担。 :)
最佳答案
您没有为我希望的所有用户使用“username.txt”
。您如何处理用户开始测验时输入的姓名?
您的代码中可能需要类似的内容,请参阅 sprintf 的文档
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char** argv)
{
FILE* pf = NULL;
char username[250];
char userfile[255];
printf("username: ");
scanf("%s", username);
sprintf(userfile, "%s.txt", username);
pf = fopen(userfile, "w");
fprintf(pf, "%d", 100);
fclose(pf);
return 0;
}
您可能还想查看fopen查看您需要哪些打开标志来满足您的要求
关于c - 如何在C中创建以用户名作为文件名的.txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865292/