QT QTcpSocket write发送字符串 error: no matching member function for call to 'write'
先看源码:
1 2 3 4 5 6 | // 按钮,发送消息 void MainWindow::on_pushButton_2_clicked() { QString send_msg = ui->textEdit_2->toPlainText(); // 获取文本框内容 new_sock->write(send_msg); } |
截图:
控制台错误提示:
从控制台的错误提示看出,write 的参数是要 char 类型的,从界面的 textEdit_2 获取的是 QString 类型,
解决方法:
将 QString 转成 char
修改代码:
1 2 3 4 5 6 7 8 9 10 11 | // 按钮,发送消息 void MainWindow::on_pushButton_2_clicked() { QString send_msg = ui->textEdit_2->toPlainText(); // 获取文本框内容 // write需要的 char 类型字符串,textEdit_2里获取的是 QString 类型 // 所以要先转换一下,QString -> string -> char std::string s=send_msg.toStdString(); const char *ch_a = s.c_str(); new_sock->write(ch_a); } |
截图:
还有一种方法:
自己把要写入的内容写到函数里,但是编译后,字符串内容就不能修改了;
1 2 3 4 5 | // 按钮,发送消息 void MainWindow::on_pushButton_2_clicked() { new_sock->write( "he" ); } |
截图:
--
参考:
https://blog.csdn.net/GENGXINGGUANG/article/details/108985233
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)