【发布时间】:2013-12-20 01:30:29
【问题描述】:
我有一个 MFC 项目,它做这样的事情
CString getTimeString( 无效 ) { SYSTEMTIME 系统时间; CString datestr;
GetSystemTime( &systemTime );
datestr.Format( "%02i/%02i/%04i, %02i:%02i:%02i",
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond );
return ( datestr + "; " + get_file_info().PName.c_str() + ", " + get_version_info().PVersion.c_str() );
}
现在我在 QT 中复制这样的东西
char* getTimeString( void )
{
QDateTime systemTime = QDateTime::currentDateTime();
QString datestr = systemTime.toString() ;
/*GetSystemTime( &systemTime );
datestr.Format( "%02i/%02i/%04i, %02i:%02i:%02i",
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond );
*/
return ( datestr.toStdString().c_str() + "; " + get_file_info().PName.c_str() + ", " + get_version_info().PVersion.c_str() );
}
它会抛出一个错误
" 表达式必须是整数或枚举类型..."
仔细看,我意识到因为它不是 std::String 我们不能像这样加起来..
所以我的问题是我如何在 QT 中实现与在 VS2010 中完全相同的方式返回函数(如上所示)。
【问题讨论】:
标签: c++ visual-studio-2010 qt stdstring