std::string strTime;如何判断strTime是否等于"20241010T010000"字符串?
时间: 2024-12-16 18:24:46 浏览: 1
python 实现数字字符串左侧补零的方法
在C++中,你可以使用`std::string`的成员函数`compare()`或`==`运算符来比较两个字符串是否相等。如果你想确保字符串的时间格式正确,首先你需要确保`strTime`已经被初始化为"20241010T010000"。然后你可以这样做:
```cpp
#include <iostream>
#include <sstream>
bool isTimeEqual(std::string strTime, const std::string& targetFormat) {
// 使用std::stringstream转换并比较
std::istringstream iss(strTime);
std::string timePart;
if (!(iss >> std::get_time(&timePart, "%Y%m%dT%H%M%S"))) {
return false; // 如果不能解析成指定格式,则返回false
}
return (timePart == targetFormat); // 检查时间部分是否等于目标格式
}
int main() {
std::string strTime = "20241010T010000";
if (isTimeEqual(strTime, "20241010T010000")) {
std::cout << "Strings are equal." << std::endl;
} else {
std::cout << "Strings are not equal." << std::endl;
}
return 0;
}
```
这段代码首先尝试从`strTime`中提取出与"YYYYMMDDTHHMMSS"格式匹配的部分(这里假设`T`后面紧跟的是小时分钟秒)。如果解析失败,说明`strTime`不匹配该格式,函数返回`false`。如果解析成功,就直接用`==`操作符检查提取出的时间部分是否与目标格式一致。
阅读全文