gpt4 book ai didi

c - fprintf 和 ctime 没有从 ctime 传递\n

转载 作者:太空狗 更新时间:2023-10-29 16:34:29 25 4
gpt4 key购买 nike

我在文本文件中插入时间时遇到问题。我使用以下代码得到 |21,43,1,3,10,5| Wed Feb 01 20:42:32 2012 这是正常的,但我想做的是将时间放在数字之前,例如 Wed Feb 01 20:42:32 2012 |21,43,1 ,3,10,5| 但是,我不能这样做,因为当我在 fprintf 之前使用带有 ctime 函数的 fprintf 时,它识别 ctime 内的\n 的数字,因此它更改第 1 行,然后打印数字。它是这样的:

    Wed Feb 01 20:42:32 2012
|21,43,1,3,10,5|

这是我不想要的东西...我如何在不切换到文本中的下一行的情况下打印时间???提前致谢!

fprintf(file,"   |");
for (i=0;i<6;i++)
{
buffer[i]=(lucky_number=rand()%49+1); //range 1-49
for (j=0;j<i;j++)
{
if (buffer[j]==lucky_number)
i--;
}
itoa (buffer[i],draw_No,10);
fprintf(file,"%s",draw_No);
if (i!=5)
fprintf(file,",");
}
fprintf(file,"| %s",ctime(&t));

最佳答案

您可以使用 strftime() 的组合和 localtime()创建时间戳的自定义格式字符串:

char s[1000];

time_t t = time(NULL);
struct tm * p = localtime(&t);

strftime(s, 1000, "%A, %B %d %Y", p);

printf("%s\n", s);

ctime 使用的格式字符串只是"%c\n"

关于c - fprintf 和 ctime 没有从 ctime 传递\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com