QT 关于如何向文件中写入数据

connect_love 2017-12-13 04:38:38
直接上代码了 这里是我的两个成员函数 creatFile在构造函数中调用,新建并打开文件并关联流,
WriteData在另一个成员函数(处理串口接收的数据的函数)中被调用,用于把读取的串口数据写入文档 ,
file和in是公有成员变量 现在的问题是:串口数据写入文档失败
QFile file;
QTextStream in;
void creatFile()
{
QDateTime datetime;
QString timestr=datetime.currentDateTime().toString("yyyyMMddHHmmss");
QString fileName = "E:/star_diary/" + timestr + ".txt";//假设指定文件夹路径
QFile file(fileName);//创建文件
if(file.open(QIODevice::WriteOnly ))
{
QTextStream in(&file);
qDebug()<<"文件打开成功";
}
}

void WriteData(QByteArray array)//写数据
{
QDateTime datetime;
QString timestr=datetime.currentDateTime().toString("yyyyMMddHHmmss");
QTextStream in(&file);//写没写都会串口数据写入文档失败
in << timestr<<array.toHex();
file.flush();
}
...全文
2935 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
connect_love 2018-01-08
  • 打赏
  • 举报
回复
真实的情况是流和文件都得用指针的形式,在creatfile函数中文件和流关联了,出了函数就不认了
lyz007 2018-01-05
  • 打赏
  • 举报
回复
前面虽然你定义了全局变量QFile file,函数creatFile()里这条语句QFile file(fileName);//这里file的作用域只是在函数creatFile()里不是文件域或全局。 QFile file(fileName);//创建文件 这行应该这样写-- file.setFileName(fileName );
Jue_Xin 2017-12-31
  • 打赏
  • 举报
回复
。。。。。封装的太过,B装的太深沉了哥,这createfile和writedata有啥好封装的?qt都帮你封好了 话说你createFile的QFile和writeData的QFile是两个不同对象吧?怎么写?
connect_love 2017-12-15
  • 打赏
  • 举报
回复
我有试过注释掉他 还是不行哟
Acuity. 2017-12-15
  • 打赏
  • 举报
回复
写函数中这句可以不用,前面已经关联过了。 QTextStream in(&file);
橙儿稻香 2017-12-13
  • 打赏
  • 举报
回复
QTextStream in(&file); 被执行了两次

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧