【100分求助】C++高手来指导string*的问题
std::string *pStr;
现在要取出pStr指向的内存的数据。
printf打印一下。
怎么转化成char*打印出来
[解决办法]
printf("%s", pStr->c_str());
[解决办法]
pStr->c_str();就得到了一个char*指针
[解决办法]
int main()
{
string str="abcdef";
string *pstr=&str;
printf("%s\n",pstr->c_str());
return 0;
}
[解决办法]
printf("pstr: %s\n",pstr->c_str());
[解决办法]
+1
string::c_str()返回一个以'\0'为结尾的const指针
[解决办法]
pStr是指向std::string类的一个对象,对象中的一个成员变量才是你要的char*内容
即:printf("%s", pStr->c_str());
如果你要打印pStr指向的内存的数据,是一个对象,不是字符串.
printf("%s", (char*)pStr); //打印出来的 是不可读字符串