c++ 字符串转字符数组
时间: 2023-12-17 14:03:49 浏览: 124
在C++中,可以使用strcpy()函数将字符串转换为字符数组。具体实现方法如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "hello world";
char arr[str.size() + 1];
strcpy(arr, str.c_str());
cout << "The character array is: " << arr << endl;
return 0;
}
```
在上述代码中,我们首先定义了一个字符串str,然后定义了一个字符数组arr,其大小为字符串长度+1。接着,我们使用strcpy()函数将字符串str转换为字符数组arr。最后,我们输出字符数组arr的值。
--相关问题--:
1. 如何将字符数组转换为字符串?
2. C++中还有哪些常用的字符串处理函数?
3.
相关问题
c++字符数组转字符串
可以使用C语言的库函数strcpy()将字符数组转换为字符串。
例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[20] = "Hello, world!";
char string[20];
strcpy(string, str); // 将字符数组str复制到字符串string中
printf("%s\n", string); // 输出字符串string
return 0;
}
```
运行结果:
```
Hello, world!
```
c++字符串转字节数组
在C++中,将字符串转换为字节数组通常涉及到将字符数组(std::string)的内容复制到标准库中的`std::vector<unsigned char>`或`char*`中。这里是一个简单的例子:
```cpp
#include <string>
#include <vector>
std::string str = "Hello, World!";
std::vector<unsigned char> byte_array;
// 使用迭代器遍历并复制每个字符的ASCII值
for (const char& ch : str) {
byte_array.push_back(static_cast<unsigned char>(ch));
}
// 或者使用c-style string并获取其长度
size_t len = str.length();
byte_array.resize(len);
std::copy(str.begin(), str.end(), byte_array.data());
```
在这个例子中,我们首先创建了一个空的`std::vector<unsigned char>`,然后通过循环将`str`中的每一个字符转换为其对应的ASCII值,并添加到字节数组中。注意,如果字符串中有非ASCII字符,这种方法可能不会得到预期结果,因为它通常只处理基本的ASCII编码。
阅读全文