C - 我可以将格式化时间输出到文本文件中吗?

11 浏览
0 Comments

C - 我可以将格式化时间输出到文本文件中吗?

我想将时间输出到一个文本文件中,时间的格式应为(dd-mm-yy)。我参考了如何以格式2009-08-10 18:17:54.811打印时间(使用顶部答案中的代码),现在我卡在了这段代码上:

int main()
{
    time_t timer;
    char buffer[26], line[50]; // 希望将日期和时间输入到一个字符串(line[50])中
    struct tm* tm_info;
    time(&timer);
    tm_info = localtime(&timer);
    strftime(buffer, 26, "%d-%m-%y %H:%M:%S", tm_info);
    puts(buffer);
    return 0;
}

这段代码在stdout上输出当前本地时间和日期的格式为(dd-mm-yy)和(hh-mm-ss)。所以我想知道是否可以将这个格式输入到一个文本文件中。

感谢任何帮助。

0
0 Comments

问题出现的原因是需要将格式化后的时间输出到文本文件中,但是当前代码中只是将时间输出到控制台,并没有将其写入文件中。

解决方法是使用fputs函数将时间字符串写入文件。具体操作如下:

1. 在puts(buffer)代码行之后添加以下代码:

FILE* file = fopen("yourtextfile.txt","w");
if (file != NULL){
    fputs(buffer,file);
    fclose(file);
}

2. 根据需要修改fopen函数中的第二个参数。如果希望每次写入时间字符串时都擦除文件中之前的内容,可以将参数设置为"w";如果希望将时间字符串追加到文件末尾,可以将参数设置为"a"。无论哪种情况,如果文件不存在,则会创建一个新文件。

0
0 Comments

问题的出现原因:用户想要将格式化的时间输出到文本文件中。

解决方法:用户可以使用以下代码来实现将格式化的时间输出到文本文件中。

FILE *fp = fopen("time.txt", "w");
if (fp == NULL) return 1;
fputs(buffer, fp);
fclose(fp);

这段代码首先使用`fopen`函数打开一个名为"time.txt"的文件,并以写入模式打开。如果打开失败,则返回错误代码1。然后使用`fputs`函数将格式化的时间输出到文件中。最后,使用`fclose`函数关闭文件。通过这些操作,用户可以将格式化的时间成功输出到指定的文本文件中。

0