c++ 字符串转为数组
时间: 2024-03-08 07:44:25 浏览: 50
在C++中,可以使用多种方法将字符串转换为数组。以下是一种常见的方法:
1. 使用字符数组:可以将字符串逐个字符地复制到字符数组中。首先,需要创建一个足够大的字符数组来存储字符串的每个字符,然后使用循环将字符串中的字符逐个复制到数组中。最后,可以使用该字符数组进行后续操作。
示例代码如下:
```cpp
#include <iostream>
#include <cstring>
int main() {
std::string str = "Hello";
char arr[6]; // 需要足够大的数组来存储字符串及结尾的空字符 '\0'
// 将字符串复制到字符数组中
std::strcpy(arr, str.c_str());
// 打印字符数组
for (int i = 0; i < std::strlen(arr); i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
输出结果为:H e l l o
相关问题
C++,将字符串转为字符数组
在 C 中,字符串本质上就是一个以 null 字符 (\0) 结尾的字符数组。因此,将字符串转为字符数组只需要将字符串变量名作为字符数组名即可。
例如,假设有一个字符串变量 str:
```
char str[] = "Hello, world!";
```
可以直接将它作为字符数组使用:
```
printf("%c", str[0]); // 输出字符 'H'
```
int数组转为字符串
将int数组转为字符串可以使用以下方法:
1. 使用循环遍历数组,将每个元素转为字符串,并拼接到一个新的字符串中。例如,使用C++代码实现如下:
```cpp
#include <iostream>
#include <sstream>
std::string arrayToString(int arr[], int size) {
std::stringstream ss;
for (int i = 0; i < size; i++) {
ss << arr[i];
}
return ss.str();}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::string result = arrayToString(arr, size);
std::cout << result << std::endl;
return 0;
}
```
输出结果为:12345
2. 使用库函数将整数数组转为字符串。例如,使用Java代码实现如下:
```java
import java.util.Arrays;
public class ArrayToStringExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
String result = Arrays.toString(arr);
System.out.println(result);
}
}
```
输出结果为:[1, 2, 3, 4, 5]