strftime 将不需要的字符添加到我尝试显示的内容中

strftime adds unwanted characters to what I'm trying to display

本文关键字:显示 不需要 字符 添加 strftime      更新时间:2023-10-16

嘿,伙计们,我想知道是否有人能向我指出这一点;时间在cmd提示符的右角,但我得到了额外的字符,然后我要求的。这就是我目前拥有的

time_t rawtime;
struct tm * timeinfo;
char buffer[80];
time(&rawtime);
timeinfo = localtime(&rawtime);
// this displays "23                    Date:etcetcetc"
cout << "nnnnnnnnnnnn";
cout << strftime(buffer, 80, "tttttttDate: %d/%m/%Y", timeinfo);
puts(buffer);
// and this displays "16Time:etcetcetc"
cout << "ttttttt";
cout << strftime(buffer, 80,"Time: %I:%M:%S n", timeinfo);;
puts(buffer);

如果你能看到评论,它给了我想要的,但在第一行加了23,在另一行加了16,我做错了什么?

谨致问候!

JB

尝试替换此:

cout << strftime(buffer, 80, "tttttttDate: %d/%m/%Y", timeinfo);

这个:

strftime(buffer, 80, "tttttttDate: %d/%m/%Y", timeinfo);
cout << strftime(buffer, 80, "tttttttDate: %d/%m/%Y", timeinfo);

cout << strftime(buffer, 80,"Time: %I:%M:%S n", timeinfo);

您将函数strftime的结果发送到stdout(这是它打印到缓冲区的字节数)。

puts(buffer);实际上输出了你的缓冲区。