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);
}
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()了!我擦!!!!!!!!!!
- Qt写入文件失败,啊啊啊,原来是这个错误!
- 原来浏览器F11是全屏啊!!!!啊啊啊
- 小宝要学Qt啊啊啊啊啊
- 错误 '80020009',写入文件失败
- 原来封装是这个意思啊!
- 又是一个通宵,啊啊啊啊啊
- 啊啊啊啊啊啊啊啊啊啊啊啊啊
- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
- win7 下飞秋发送文件失败,原来是“你”在作怪
- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
- 原来是灰尘这个杀手
- 原来是这个样子的!
- 原来这个是第一天。
- 原来这个分类是powerdesigner
- linux原来是这个样子!
- 【应聘笔记系列】cdecl stdcall fastcall
- 线性规划与网络流24题 09方格取数问题
- 二叉树的一些操作(C语言实现)
- MyEclipse SVN插件的安装及使用
- ExtJs添加刷新等等按钮
- Qt写入文件失败,啊啊啊,原来是这个错误!
- 十一过后要静下心来学习
- POJ 2240 Floyd
- 在ubuntu下安装软件包 sun-java6-jdk 没有可供安装的候选者
- zend framework常用组件
- 导航栏中的滑动门技术
- swf自动适应大小的变化,设置swf的全屏,支持退出全屏的esc快捷键
- fedora15上搭建cvs-server和telnet-server(二)
- ARM-Linux 内核移植--基于FL2440开发板(修改为Linux单系统)