char数组插入vector容器
时间: 2023-08-24 12:04:05 浏览: 45
可以使用vector类提供的insert()函数来将char数组插入vector容器中。具体实现可以参考以下示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
char arr[] = "hello";
vector<char> vec;
vec.insert(vec.end(), arr, arr + sizeof(arr) - 1);
for (int i = 0; i < vec.size(); i++) {
cout << vec[i];
}
return 0;
}
```
在上述代码中,首先定义了一个char数组`arr`,然后定义了一个vector容器`vec`。使用insert()函数将`arr`插入`vec`中,其中`vec.end()`表示插入的起点为`vec`的末尾,`arr`和`arr + sizeof(arr) - 1`分别表示插入的起始位置和结束位置。最后使用for循环输出`vec`中的元素。
需要注意的是,在将char数组插入vector容器时,需要计算出char数组的长度,即`sizeof(arr) - 1`,因为数组中还有一个结束符`\0`。
相关问题
char数组按行转vector数组
可以使用stringstream和getline函数来实现char数组按行转vector数组的操作。
示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
vector<string> charToVector(char* str) {
vector<string> res;
stringstream ss(str);
string line;
while (getline(ss, line)) {
res.push_back(line);
}
return res;
}
int main() {
char str[] = "hello\nworld\n";
vector<string> res = charToVector(str);
for (string s : res) {
cout << s << endl;
}
return 0;
}
```
输出:
```
hello
world
```
在上面的代码中,我们首先定义一个char类型的字符串str,然后将其传入charToVector函数中。在charToVector函数中,我们定义一个vector类型的res,并使用stringstream将char数组转换为stringstream类型。然后,我们使用getline函数将stringstream中的数据按行读取,并将其存储到vector中。最后,我们返回vector数组并在主函数中输出。
C语言unsigned char数组转 char数组
可以通过强制类型转换将 unsigned char 数组转换为 char 数组。例如:
```c
unsigned char arr1[] = {65, 66, 67}; // 定义一个 unsigned char 数组
char arr2[4]; // 定义一个 char 数组,长度为 4,多出来的一个字节用于存放字符串结束符 \0
for (int i = 0; i < 3; i++) {
arr2[i] = (char)arr1[i]; // 将 unsigned char 数组中的每个元素强制转换为 char 并赋值给 char 数组
}
arr2[3] = '\0'; // 在 char 数组的最后一个字节存放字符串结束符
printf("%s\n", arr2); // 输出转换后的字符串
```
输出结果为:
```
ABC
```
相关推荐
















