大众点评王老五 2022-05-09 10:57 采纳率: 33.3%
浏览 46

在Linux下使用qt开发的聊天软件,为什么一端发向另一端doc文件可以,另一端向这一端发送就没有数据

问题遇到的现象和发生背景

在Linux下使用qt开发的聊天软件,为什么一端发向另一端doc文件可以,另一端向这一端发送就没有数据;但txt文件互传是可以的

问题相关代码,请勿粘贴截图
if(msgType == "receiveFile"){//文件处理
    QString sendUser,receiveUser,fileStr;
    QByteArray fileData;
    in >> sendUser >> receiveUser >> fileStr >>fileData;
    if(!fileData.isEmpty()){   
        QString fileName = QFileDialog::getExistingDirectory();//选择文件目录
        qDebug()<<fileName;
        QFile file(fileName+"/"+fileStr);
        file.open(QIODevice::WriteOnly);
        file.write(fileData);//保存文件
        file.close();
    }
}
运行结果及报错内容

fileData.isEmpty() 在doc文件时是ture,在txt时是false

我的解答思路和尝试过的方法

一直查找不出来错

我想要达到的结果

可以互传doc文件

  • 写回答

4条回答 默认 最新

  • 三雷科技 C/C++领域新星创作者 2022-05-09 11:40
    关注

    txt文本是可见字符的数据流,doc是二进制数据流.
    在发送的时候时候是使用了可见字符数据流发送方式,导致无法接受数据.

    评论

报告相同问题?

问题事件

  • 创建了问题 5月9日

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?