关于QFile和QDateTime综合运用的问题
QDir dir;
dir.mkpath("D:/123");
//QFile file("D:/123/message_autosave.txt");
QString file_name = "D:/123/";
file_name += "message_";
file_name += save_begintime.toString("hh:mm:ss (zzz 'ms')");
file_name += "_";
file_name += save_endtime.toString("hh:mm:ss (zzz 'ms')");
file_name += ".txt";
QFile file(file_name); //创建不成功
if (!file.open(QFile::Append | QFile::WriteOnly | QFile::Text))
{
return false;
}
QTextStream out(&file);
if (file.exists())
{
if ((datetime >= m_save_begintime) && (datetime <= m_save_endtime))
{
AutoSaveMessage(pDataObj, save_begintime, save_endtime, strtime, out);
}
else
file.close();
}
我的问题是,QFile file(file_name)这里,如果前面加入了file_name+=save_begintime.toString("hh:mm:ss (zzz 'ms')");
和file_name += save_endtime.toString("hh:mm:ss (zzz 'ms')");
则QFile创建不成功,看帮助里,QDateTime.toString()返回的确实是QString类型,为什么加入到文件名中创建就不行呢?求高手赐教,
[解决办法]
windows 文件名不能有冒号 :
你试试新建一个文件名有冒号的就知道了