首页 > 代码库 > QString、std::string转换成char*
QString、std::string转换成char*
#include <iostream>#include <QtCore/QString>int main(){ QString str_Q("cupcupy北京"); int j = str_Q.length(); //11,一个汉字算两个字符 std::string str_string = str_Q.toStdString(); int i = str_string.length();//11,字符串长度不包括结尾的‘/0‘ //c_str()返回的是一个临时指针,即str_p指向的内存地址属于str_string //一旦str_string被析构,str_p就成了一个悬浮指针 //正确使用时要使用new + strcpy const char* str_p = str_string.c_str(); char* ch = new char( i + 1 ); //字符串结尾是‘/0‘ //strcpy认为ch指向的空间足够大,strcpy_s检查ch指向的空间是否足够 strcpy_s( ch, i + 1, str_p); std::cout<<ch<<std::endl; return 0;}
QString、std::string转换成char*
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。