The function c_str() returns a const pointer to a regular C string, identical to the current string. The returned string is null-terminated.
c_str函数的返回值是const char*的,不能直接赋值给char* ,所以就需要我们进行相应的操作转化(利用strcpy()函数),或用const char *ch试试
//---------------------------------------------------------------------------
#include
#include
using namespace std;
int main(void)
{
string a("abcde");
const char *cap=NULL;
char *b=NULL;
cap=a.c_str(); /*用法<1>*/
b=new char[a.size()+1];
strcpy(b,a.c_str()); /*用法<2>*/
return 0;
}
//---------------------------------------------------------------------------
应该是:
const char * ch = str.c_str();
怎么报错,报什么错?说得详细点呀,IT工程技术网上有很多c++基础知识,你可以去看看。