C++ char 复制为string
时间: 2024-02-07 22:02:03 浏览: 62
将一个 `char` 复制为一个 `string`,可以使用 `string` 类的构造函数来实现,具体代码如下:
```cpp
char c = 'a';
string s(c, c + 1);
```
这里的第一个参数是字符数组的起始地址,第二个参数是字符数组的结束地址,因为这里只有一个字符,所以结束地址就是起始地址加一。这样就可以将一个 `char` 复制为一个 `string` 了。
相关问题
C++ char* 复制为string
可以使用C++中的`std::string`类来完成这个任务。
首先,需要包含头文件`<string>`。然后,可以将`char*`类型的字符串直接传递给`std::string`的构造函数,从而将其转换为`string`类型:
```cpp
#include <string>
char* cstr = "Hello, world!";
std::string str(cstr);
```
或者,可以使用`std::strcpy()`函数将`char*`类型的字符串复制到一个字符数组中,然后将该字符数组传递给`std::string`的构造函数:
```cpp
#include <string>
#include <cstring>
char* cstr = "Hello, world!";
char buf[256];
std::strcpy(buf, cstr);
std::string str(buf);
```
需要注意的是,在将`char*`类型的字符串直接传递给`std::string`的构造函数时,如果`char*`指针指向的字符串是一个动态分配的字符串,那么需要手动释放该字符串的内存。否则,可能会导致内存泄漏。例如:
```cpp
#include <string>
char* cstr = new char[256];
std::strcpy(cstr, "Hello, world!");
std::string str(cstr);
delete[] cstr;
```
C++ 拷贝 char 为string
可以使用`std::string`的构造函数来将`char`数组拷贝到`string`中。例如:
```c++
char str[] = "hello world";
std::string s(str);
```
这样就将`str`中的内容拷贝到`s`中了。注意,这里的`char`数组必须以空字符('\0')结尾,否则可能会导致未定义行为。
阅读全文