字符串和字符数组的转化c++
时间: 2023-12-31 13:04:53 浏览: 51
1. 字符串转字符数组:
可以使用strcpy函数将字符串复制到字符数组中。
例如:
char str[] = "hello world";
char arr[20];
strcpy(arr, str);
2. 字符数组转字符串:
可以使用sprintf函数将字符数组转换为字符串。
例如:
char arr[] = {'h', 'e', 'l', 'l', 'o', '\0'};
char str[20];
sprintf(str, "%s", arr);
相关问题
C++中字符串和字符数组的转化
在C++中,字符串和字符数组可以相互转化,常用的方法有以下几种:
1. 字符串转字符数组
可以使用strcpy()函数将字符串拷贝到字符数组中,例如:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "Hello World";
char arr[20];
strcpy(arr, str.c_str());
cout << arr << endl;
return 0;
}
```
2. 字符数组转字符串
可以使用string类的构造函数将字符数组转化为字符串,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
char arr[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};
string str(arr);
cout << str << endl;
return 0;
}
```
3. 字符串转字符指针
可以使用c_str()函数将字符串转化为字符指针,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World";
const char* ptr = str.c_str();
cout << ptr << endl;
return 0;
}
```
4. 字符指针转字符串
可以使用string类的构造函数将字符指针转化为字符串,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
const char* ptr = "Hello World";
string str(ptr);
cout << str << endl;
return 0;
}
```
需要注意的是,字符数组转字符串时,字符数组必须以'\0'结尾。而且,字符串转字符指针时返回的是const char*类型的指针,因为字符串是不可修改的。
C++把字符串转化为字符数组
在C++中,字符串被定义为字符数组,可以使用以下方法将字符串转换为字符数组:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_array[str.length() + 1];
strcpy(char_array, str.c_str());
std::cout << "String: " << str << std::endl;
std::cout << "Character Array: " << char_array << std::endl;
return 0;
}
```
在上面的示例中,我们首先将字符串“Hello, world!”存储在一个std::string对象中。然后,我们创建了一个char类型的字符数组,其大小为字符串长度加1,以包含字符串的终止符“\0”。最后,我们使用strcpy()函数将字符串复制到字符数组中,并使用c_str()函数获取字符串的C字符串表示形式。
输出结果将是:
```
String: Hello, world!
Character Array: Hello, world!
```