char* 转化为 string函数
时间: 2023-12-25 16:56:32 浏览: 73
可以使用C++中的`std::string`类来实现char*到string的转换。可以使用以下代码:
```cpp
#include <string>
std::string charToString(char* charArray) {
std::string str(charArray);
return str;
}
```
这个函数将char*类型的charArray作为参数,并将其转换为一个std::string类型的对象。该函数返回字符串对象。
相关问题
c语言将unsigned char*转化为string
可以使用以下方法将unsigned char*转换为string:
```c
unsigned char* uc = "hello";
int len = strlen(uc);
char* c = (char*)malloc(len + 1);
memset(c, 0, len + 1);
memcpy(c, uc, len);
string str(c);
```
上面的代码中,我们先获取unsigned char*的长度,然后通过malloc函数分配内存,将unsigned char*复制到char*中,最后使用string构造函数将char*转换为string。同时,我们需要注意内存的分配和释放。
C++里将char *转化为string
可以使用`std::string`的构造函数将`char*`类型转换为`std::string`类型。例如:
```c++
char* cstr = "Hello, World!";
std::string str = std::string(cstr);
```
或者可以使用`std::string`的赋值操作符,例如:
```c++
char* cstr = "Hello, World!";
std::string str;
str = cstr;
```
需要注意的是,如果`char*`指向的字符串中包含`\0`字符,那么在转换为`std::string`时会将其作为字符串的结尾,因此可能会截断字符串。如果想要避免这种情况,可以使用`std::string`的另一个构造函数,该构造函数需要指定字符串的长度,例如:
```c++
char cstr[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
std::string str(cstr, sizeof(cstr));
```
阅读全文