c - 如何在C中创建以用户名作为文件名的.txt?

标签 c

我已经成功创建了一个测验程序,它首先要求用户输入他们的名字。

测验结束后,分数首先打印到屏幕上,然后打印到 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/

相关文章:

c - 从文件中的同一行扫描多个字符串 (C)

c - 打印文件每行的 m 到 n 列

c - 从 txt.file 读取链接列表,需要帮助更正代码

c - 如何将按钮设置为点击时的默认按钮?

c - 对 "function"的 undefined reference

c - 将数据从 C 传递到 R

mysql - mysql_insert_id 线程安全吗?

c - 交换时无需担心数据类型

c - freeRTOS 是否支持 Atmel AT32UC 3C?

c++ - 如何像构造函数初始化 C++ 中的所有类对象一样初始化 C 中结构中的所有对象?