为什么ctime对不同的time_t值返回相同的字符串?

  • 本文关键字:返回 字符串 time ctime c++ time
  • 更新时间 :
  • 英文 :


我有一个打印time_t值的函数。

void Logger::describe()
{
cout << m_start_time << " " << m_end_time << "n";
if (ctime(&m_start_time) == ctime(&m_end_time))
{
cout << "check1n";
}
cout << m_vehicle->getPlate() << " " << ctime(&m_start_time) << " " << ctime(&m_end_time) << "n";
}
// m_start_time and m_end_time are private variables of type time_t of the class Logger
对于等待几秒钟后的示例输出,我得到
1634907786 1634907791
check1
bike1 Fri Oct 22 18:33:06 2021
Fri Oct 22 18:33:06 2021

可以看到m_start_timem_end_time是不同的,但ctime返回相同的值。有谁能帮我解释一下吗?

如果有帮助,我使用gcc 6.3.0。

阅读这里的返回值信息:ctime

是一个指向静态字符串的指针。您不是在比较字符串的内容(参见strcmp),而是在比较这个指针。

相关内容

  • 没有找到相关文章

最新更新