将字符数组赋值给std::vector<char>
时间: 2024-12-15 16:20:32 浏览: 14
DynamicString:简单的动态字符串示例
将字符数组赋值给 `std::vector<char>` 是非常常见的操作,这允许你在动态内存管理中存储和操作字符串。以下是一个简单的步骤说明:
1. 首先,你需要创建一个 `std::vector<char>` 对象,它会自动管理其内部存储空间。
```cpp
std::vector<char> vec;
```
2. 然后,你可以通过 `push_back()` 函数或者直接使用大括号 `[]` 来添加数组的内容。如果字符数组有固定的大小,可以直接复制到新 vector 中:
```cpp
// 假设你有一个名为 chars 的字符数组
const char* chars = "Hello, World!";
// 直接复制
vec.assign(chars, chars + sizeof(chars));
// 或者逐一添加
for (size_t i = 0; chars[i] != '\0'; i++) {
vec.push_back(chars[i]);
}
```
这里的 `sizeof(chars)` 加上终止符 `\0` 可以计算出数组的实际长度(包括结束标志)。
3. 最后,`std::vector<char>` 就包含了原字符数组的内容,你可以像处理普通字符串一样使用它了:
```cpp
std::cout << &vec[0] << ": " << vec.size() << " characters" << std::endl; // 输出:打印 vector 的首地址和内容长度
```
阅读全文