C++ string char*
时间: 2023-11-25 17:06:25 浏览: 79
在C++中,可以使用三种方法将string转换为char*。首先是使用data()方法,可以通过str.data()将string转换为const char*。其次是使用c_str()方法,可以通过str.c_str()将string转换为const char*。最后是使用copy()方法,可以通过str.copy(p, len, 0)将string复制到char数组中。其中,len代表要复制的字符数,0代表复制的起始位置。需要注意的是,使用copy()方法时需要手动添加结束符'\0'。
要将char*转换为string,可以直接将char*赋值给string对象,如string str = s。也可以将char数组赋值给string对象,如string str = s[20]。
在C语言中,可以将char* a[]赋值给char**,但是不能将char**赋值给char* a[],因为在char* a[]中,a作为数组名是一个常量,无法赋值。
相关问题
c++ string 转 char*
将字符串转换为char*的方法是使用字符串的c_str()函数,它返回一个指向字符串中第一个字符的指针。示例代码如下:
```c++
#include <iostream>
#include <string>
int main()
{
std::string str = "Hello World";
char* cstr = &str[0];
std::cout << cstr << std::endl;
return 0;
}
```
在上面的示例代码中,我们首先定义了一个std::string类型的变量str,并设置其值为"Hello World"。然后我们使用&str[0]获取字符串的首地址,并将其赋值给一个char*类型的变量cstr。最后,我们打印cstr的值,即可看到字符串转换为char*的结果。
C++ string转char*
可以使用`c_str()`函数将C++的`string`转换成`char*`,例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string my_str = "Hello, world!";
const char* my_cstr = my_str.c_str();
std::cout << my_cstr << std::endl;
return 0;
}
```
在上面的代码中,`my_str.c_str()`返回一个指向`my_str`存储的字符串的常量指针,可以将其赋值给`const char*`类型的变量。注意,返回的指针是常量指针,因此不能修改指向的字符串。
阅读全文