C++ 字符型数组转换成字符串
时间: 2024-11-09 12:20:51 浏览: 36
字符串,整型数据,字符型数组互相转换源码
4星 · 用户满意度95%
在C++中,将字符型数组(`char[]` 或 `const char*`)转换成字符串(`std::string`),可以使用两种常见的方式:
1. **静态初始化**:
- 使用`std::string`的构造函数,可以直接传入字符数组作为初始化参数:
```cpp
const char array[] = "Hello, World!";
std::string str(array);
```
- 或者如果你有一个指向字符数组的指针,可以这样做:
```cpp
const char* ptr = "Hello, World!";
std::string str(ptr);
```
2. **动态内存管理** (C-style string to `std::string`):
- 先计算字符串的实际长度(包括结束符'\0'),然后用`std::string`构造函数:
```cpp
const char* cStr = "Hello, World!";
size_t len = strlen(cStr);
std::string str(cStr, len);
```
- 然而,这种方法存在风险,因为未检查的空指针可能导致运行时错误,所以建议避免使用未经验证的指针。
这两种方法都将字符数组的内容复制到新的`std::string`对象中,便于进一步的操作和处理。
阅读全文