C++ 将字符串数组中的每一个元素转为string类型
时间: 2024-10-06 09:02:31 浏览: 31
在C++中,将字符数组转换为`std::string`类型的每个元素,通常涉及到遍历数组并逐个创建新的`std::string`对象。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
// 假设我们有一个字符数组
char strArray[] = {"Hello", "World", "!", ""}; // 注意最后一个空字符串
// 定义一个函数,将字符数组中的元素转换为string
std::vector<std::string> convertCharArrayToStrings(char* arr, int size) {
std::vector<std::string> stringVec;
for (int i = 0; i < size; ++i) {
if (arr[i] != '\0') { // 避免空终止符
stringVec.push_back(std::string(arr + i)); // 使用指针加上偏移获取字符串
}
}
return stringVec;
}
int main() {
std::vector<std::string> result = convertCharArrayToStrings(strArray, sizeof(strArray) / sizeof(strArray[0]) - 1); // 减一是因为数组结束于空字符
for (const auto& s : result) {
std::cout << s << std::endl;
}
return 0;
}
```
在这个例子中,我们首先创建了一个`std::vector<std::string>`来存储结果。然后遍历字符数组,跳过空字符`\0`,将非空字符部分转换成`std::string`并添加到`vector`中。
阅读全文