如何将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++
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可变长度数组作为扩展时才有效.