问题
对于string 类型的字符串, 采用printf输出字符串会乱码
string str("abc");
printf("%s", str);
输出结果
解决方案
正确输出
string str("abc");
printf("%s", str.c_str());
原因
c语言里并没有string数据类型 ,C++虽然有string数据类型没有重载printf()函数,但C++具有c_str()函数
函数原型
const char *c_str();
作用
c_str()函数返回一个指向正规C字符串的指针, 内容与本字符串相同