c++ - C++计算中的时间

标签 c++ windows unix time

我有一个包含记录的文本文件。我需要确定时间(它是记录结构的一部分)是否在表示下限和上限范围的 2 倍(存储在字符串中)之间。 在文件中,时间以 145540123456 表示,这意味着 14 是小时,55 - 分钟,40 - 秒,123456 - 微秒准确。

我决定它是否在范围内的上限和下限时间,我将其作为相同格式的字符串获取,例如“093000000000”。如何计算,是否需要使用 time_t 和时间库?

注意:我无法使用 Boost。

最佳答案

您指定的格式有一个简单的优点,即按字母数字对这些时间字符串进行排序将使它们保持正确的顺序。

因此,使用 strcmp(如果使用以 null 结尾的 char * 缓冲区,则为简单的 C 函数)或 std::string 的比较运算符可以让您轻松确定如果某个时间字符串属于一个区间。

这些方法可以导致很少的计算,例如,如果您比较的字符串的第一个字符不同,因为标准函数应该足够聪明,在确定结果后立即停止比较字符串。

关于c++ - C++计算中的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621052/

相关文章:

c++ - 在 Windows 上的 Unix 上开发 C++, native 函数调用?

c++ - 以升序插入双向链表的问题

c++ - 读取直方图后未处理的异常(使用 calcHist 创建)

c++ - "specializations don’ t参与重载”

windows - AU3Recorder 未运行

windows - DirectShow - 如何从源过滤器读取文件

perl - 定期检查是否需要使用 Crontab 和 Perl 重新启动进程

c++ - 在C++中重载operator[],但要防止a[i]=one_special_specific_value

windows - 如何查找计算机在某一天的首次开机时间和最后一次关机时间?

linux - Linux 上的 wget 没有 svn?