Qt写入文件失败,啊啊啊,原来是这个错误!

来源:互联网 发布:数据分析表格模板 编辑:程序博客网 时间:2024/06/05 15:28
QFIle *localFile = new QFile(fileName);
if(!localFile->open(QFile::WriteOnly))
{
  qDebug()<<"open file error";
  QMessageBox::information(this,"","open file error");
  return ;
}
文件创建和打开都是成功的。

if(bytesReceived < totalBytes)
{
  bytesReceived += tempConnection->bytesAvailable();//tempConnection是个QTcpSocket
  QByteArray inBlock = tempConnection->readAll();
  qint64 len=localFile->write(inBlock);
  QMessageBox::information(this,"",inBlock);
    
}

整个过程是TCP客户端传送过来的文件,TCP服务端接收这个文件并且把它存储下来。服务端把文件建立了,也正常打开了,然后往里面写可是没有写进去。但是localFile->write(inBlock)的返回值,也就是写入的字节数恰恰是文件内容的字节数,这不是奇怪吗?它说写进去了,可我打开文件查看的时候却什么也没有!我用QMessageBox显示inBlock中要写入文件的内容,是对的,而且write的返回值len也是对的,可打开文件却是空的?搞了一晚上了,就是查不出错误?

原来错误是:接收文件成功后,我没有关闭文件,即忘记调用localFile.close()了!我擦!!!!!!!!!!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被捉后,本喵全靠卖人设为生! 丹师至上 总有系统不想放过我 农家团宠小福女 真千金归来靠武力值爆红娱乐圈 捕快女大人 带崽冲喜后,植物人老公抢着当爹 希腊神话那些事 穿成科举文中炮灰小锦鲤 开荒种田:我靠空间富甲天下 重生之谋离 在全球游戏里当房东的日子 我把师门送上天 玄门小奶包是冥界最强打工人 珠柔 我靠完成小团子心愿续命 举一反三式爱你 战神她在娱乐圈杀疯了 当家嫡女:背靠系统富甲天下 停!反派总裁不准亲亲抱抱系统 逃荒:嫁给黏唧唧人鱼后吃不消了 荒野直播:影帝的小娇娇藏不住了 限时暗恋 被迫给反派续命后在娱乐圈爆火了 将军夫人你莫走 在源能世界中觉醒全知之眼 我去华娱探探路 带娃虐渣,女将军穿年代后杀疯了 带着妈妈活到末世结束 十八线女配穿进后宫演顶流 斗罗:重生胡列娜在武魂殿当团宠 大景女星官 报!娘娘在种田路上福星高照 靠美食成为星际首富 夫人她每天都想摸鱼摆烂 寒门重生女 穿书:侧妃她要改剧本 作妖小青梅总想遇见我 重生成团宠文炮灰 全师门就我一个人是废柴 反派家的团宠崽崽是神兽