在C++计算中的时间

Bor*_*kov 0 c++ unix windows time

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

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

注意:我不能使用Boost.

Sir*_*ius 6

您指定的格式具有以下简单优势:按字母顺序对这些时间字符串进行排序将使它们保持正确的顺序.

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

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