QT QString 与QByteArray 转char*后,程序错乱
QString key_str="x";
//char* key=key_str.toUtf8().data();//错误做法
if(1){
QByteArray array=key_str.toUtf8();
myDebugNum(array.length());
char* key=key_str.toUtf8().data();
for(int i=0;i<array.length();i++){
myDebugNum(array.at(i));
}
// 发现长度是1 转char*后,只有1个字节,没有结尾的\0 导致程序出现意外,可以在末尾添加一个 \0
}
//正确做法
QByteArray array=key_str.toUtf8();
array.append('\0');
char* key=array.data();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2021-02-25 qt mingw打包 msvc2017打包 中文乱码的几个解决方案(msvc不乱码,mingw乱码)