使用c_str()函数 c_str函数的返回值是const char*。 c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 举个栗子: String st ="insert into chuang values (...
当在vs中遇到不存在从QString到const char *的适合转换函数这样的错误时,有两种方式解决,如下: #include<QtCore/QCoreApplication>#include<QDebug>intmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);QStringhello("Hello World");constchar*chHello=hello.toLocal8Bit().data();constchar*chHelloUf...
【问题原因】因为项目编码方式为Unicode, CString中是WCHAR,string里是char,类型不匹配;CString实际是CStringT, 也就是模板类, 它在UNICODE环境下, 实际是CStringW, 而在多字符集下是CStringA,而std::string就是多字符集的 【解决方法】 CString cstr; USES_CONVERSION;stringstr(W2A(cstr));...
WCHAR去掉前面的W
如果String,是 a std::string,你可以这样做 strcpy(host, DATA.c_str()); Run Code Online (Sandbox Code Playgroud) 例如如果它是一个自定义类 class String { char buffer[20]; //add a method c_str() for example like the std::string does const char * c_str() { return buffer; } //...
【问题原因】因为项目编码方式为Unicode, CString中是WCHAR,string里是char,类型不匹配;CString实际是CStringT, 也就是模板类, 它在UNICODE环境下, 实际是CStringW, 而在多字符集下是CStringA,而std::string就是多字符集的 【解决方法】 CString cstr;