char* 转Cstring
时间: 2023-03-24 17:02:42 浏览: 172
char* 和 Cstring 都是 C 语言中表示字符串的方式,但是它们的类型不同。char* 是指向字符数组的指针,而 Cstring 是 C++ 中的一个字符串类。如果要将 char* 转换为 Cstring,可以使用 C++ 标准库中的 string 类,先将 char* 转换为 string,再将 string 转换为 Cstring。具体实现可以参考以下代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
char* str = "hello world";
string s(str);
const char* cstr = s.c_str();
cout << "Cstring: " << cstr << endl;
return ;
}
```
这段代码将 char* 类型的字符串 "hello world" 转换为 string 类型的字符串 s,然后使用 s.c_str() 方法将其转换为 Cstring 类型的字符串 cstr,并输出 cstr 的值。
相关问题
char *转cstring
首先,我需要澄清一下问题的意思。在 C++ 中,没有 `char*` 和 `cstring` 两种类型,可能是您想要将 `char*` 类型的数据转换成 C++ 中的 `std::string` 类型,也有可能是您想要将 C 语言中的字符数组(也就是字符串)转换成 C++ 中的 `std::string` 类型。下面分别介绍这两种类型的转换方法:
1. `char*` 转换成 `std::string`
```cpp
char* cstr = "Hello, World!"; // 假设 cstr 指向一个字符数组
std::string str(cstr); // 直接使用 char* 初始化 std::string 对象
```
2. C 语言中的字符数组转换成 `std::string`
```cpp
char cstr[] = "Hello, World!"; // 定义一个字符数组
std::string str(cstr); // 直接使用字符数组初始化 std::string 对象
```
需要注意的是,在将 `char*` 或字符数组转换成 `std::string` 对象时,要确保字符串以 NULL 结尾,也就是字符串的最后一个字符是 '\0',否则可能会出现未知错误。
char* 转 cstring
要将char*转换为CString,可以使用CString的Format方法并使用%s格式符。具体的步骤如下:
1. 创建一个CString对象来存储转换后的字符串。
2. 使用Format方法将char*转换为CString。
代码示例:
```cpp
char* charpoint = "give string a value";
CString strtest;
strtest.Format("%s", charpoint);
```
阅读全文