您的位置:首页 > 编程语言 > Qt开发

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

2011-10-08 20:49 309 查看
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()了!我擦!!!!!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐