如何在C++中将字符串转换为char*?

Jus*_*n k 3 c++ visual-c++

如何将stringin 转换为char *I使用以下方法,但它不起作用.

在运行时它给我以下错误:

运行时检查失败#3 - 正在使用变量'url'而未进行初始化.

虽然我已经初始化了它,如下面的代码所示.能告诉我一个例子吗?

    char* url;
    sup = "news"
    sup="http://www."+sup+"yahoo.com";
    strcpy(url, sup.c_str());
Run Code Online (Sandbox Code Playgroud)

我在控制台中使用Microsoft Visual Studio 2010,C++

Luc*_*ore 5

strcpy 不为你分配内存,你必须自己动手,记住为空终止字符留出空间:

char* url = new char[sup.length()+1];
Run Code Online (Sandbox Code Playgroud)

要么

char url[sup.length()+1];
//...
strcpy(url, sup.c_str());
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,不要忘记delete[]数组.第二种情况仅在编译器支持C99可变长度数组作为扩展时才有效.