PostgreSQL和c++ -比较日期
PostgreSQL and C++ - Compare dates
我有一个名为date()
的c++函数,它将当前日期作为字符串返回:
string date()
{
time_t seconds = time (NULL);
struct tm * timeinfo = localtime (&seconds);
ostringstream oss;
oss << (timeinfo->tm_year + 1900)
<< "-" << (timeinfo->tm_mon + 1)
<< "-" << timeinfo->tm_mday;
string data = oss.str();
return data;
}
我需要比较date()
的返回值与存储在我的一个表中的值。这是我到目前为止所尝试的:
if(strcmp(PQgetvalue(res,row,col),date()) != 0)
但是,编译器一直给我抛出以下错误:
错误:无法将' std::string{又名std::basic_string} '转换为' const char* ',参数' 2 '转换为' int strcmp(const char*, const char*) '
谁能帮我找到一个解决方案?
1 -你可以使用string的c_str()方法来访问底层的C字符串:
if(strcmp(PQgetvalue(res,row,col),date().c_str()) != 0)
2 -更好的是,如果你想要"完整的c++",将PQgetvalue
的输出转换为字符串,并使用比较运算符:
if(string(PQgetvalue(res,row,col)) == date())
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么比较运算符如此快速
- 查询SQLite数据库中的日期
- Rcpp/C++/R:比较日期时间矢量与日期时间时出错(错误:"运算符>"的不明确重载)
- 我如何比较日期
- C++日期比较并不总是计算出相同的逻辑值
- 在 c++ 中比较 2 个日期
- 如何比较C++中的两个日期
- 比较日期c++(使用boost)
- 如何在 c++ 中将用户日期与系统日期进行比较
- 两个对象之间的日期比较
- 如何使用速推库比较两个单独的日期
- 视觉C++:比较日期
- 以格式化的方式打开一个具有日期的文件,并获取该日期进行比较
- visual如何在C++中比较两个日期
- C++与字符串日期进行比较
- PostgreSQL和c++ -比较日期
- 如何比较程序中的两个日期
- C++-比较两个日期
- 比较来自字符串、char*或int的两个日期