【问题标题】:Adding Date in a file - C在文件中添加日期 - C
【发布时间】:2011-07-08 21:18:38
【问题描述】:

我正在用 C 编写一个网络游戏。我已经在一个文件中写入了分数。我还想添加当天的日期。 这是文件的结构:日期名称分数 和代码:

ScoreFile = fopen("scores.txt", "a");
fprintf(ScoreFile, "%s %d\n", Name, Score);

我试过 system("date") 但它打印在标准输出上。我认为我不能用 fprintf 添加日期。

您知道允许在文件中添加日期的解决方案吗? (也许从 time.h 开始?)

非常感谢!!

【问题讨论】:

    标签: c file date file-io time.h


    【解决方案1】:

    考虑使用strftime 将时间结构转换为字符串。

    示例(来自上面的链接):

    #include <time.h>
    // ...
    
    char s[30];
    size_t i;
    struct tm tim;
    time_t now;
    now = time(NULL);
    tim = *(localtime(&now));
    i = strftime(s,30,"%b %d, %Y; %H:%M:%S\n",&tim);
    

    Jul 9, 2011; 17:55:55\n 放入s

    【讨论】:

    • 谢谢它的作品!但文件中的日期:日期:2011 年 9 月 9 日星期六; 00:00:28 位于两行而不是仅一行。有解决办法吗?
    • 如果我没听错,请删除字符串末尾的\n,否则我们需要看看你做了什么。
    • 我很高兴。请注意,您可以更改格式以仅包含您关心的详细信息。
    【解决方案2】:

    这样的东西应该可以工作

    time_t now;
    time(&now);
    
    printf("... %s\n", ctime(&now));
    

    如果您需要指定自己的格式,请查看strftime。如果您以后需要读回并解析它,最好写出自纪元以来的秒数(time_t,也许是 ASCII?)。

    【讨论】:

      【解决方案3】:

      最简单的方法是:

      time_t now = time(NULL);
      fprintf(ScoreFile, "[%s] %s %d\n", ctime(&now), Name, Score);
      

      【讨论】:

        【解决方案4】:

        从 time.h 中查看 strptimestrftimemktime

        解析:

        struct tm timeStruct = {0,0,0,0,0,0,0,0,0};
        char *timeBuf = "03061983";
        char *p = strptime(timeBuf, "%d%b%y", &timeStruct);
        
        if (p != NULL)
        {
            // manipulate timeStruct.
            // use mktime to get the time_t value
        }
        

        写作:

          time_t t;
          struct tm * timeStruct;
          char timeBuf[6];
        
          time(&t);
          timeStruct = localtime(&t);
        
          strftime (timeBuf, 6, "%d%b%y", timeStruct)
        

        问候,
        优素福

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-22
          • 2011-08-31
          • 2015-11-17
          相关资源
          最近更新 更多