CString转 char *
时间: 2023-11-13 15:01:51 浏览: 101
CString是MFC中的一个字符串类,并且是基于Unicode字符集的。如果要将CString转换为char *类型,可以使用CString的GetBuffer()函数。
示例代码:
```c++
CString str = _T("Hello");
char *pStr = (char *)str.GetBuffer(0);
```
需要注意的是,GetBuffer()函数返回的是一个TCHAR类型的指针,需要强制转换为char *类型。另外,GetBuffer()函数的参数为0时,表示返回CString内部所持有的字符缓冲区的指针,如果参数不为0,则表示请求CString对象重新分配一个指定大小的字符缓冲区。在使用完毕后,需要调用CString的ReleaseBuffer()函数来释放缓冲区。
示例代码:
```c++
CString str = _T("Hello");
char *pStr = (char *)str.GetBuffer(0);
// do something with pStr
str.ReleaseBuffer();
```
相关问题
CString转 char*
好的,您想了解关于 CString 转 char* 的问题,对吗?对于这个问题,我可以给您提供一个简单的解决方案。可以使用 CString 类的 GetBuffer 方法获取 C-style 字符串的指针,将其赋值给 char* 类型的变量,然后调用 CString 类的 ReleaseBuffer 方法或者在获取完指针后使用 CString 类的内部 API 来释放指针。请注意,这个方法不是线程安全的,需要考虑线程同步和安全性。希望这个解决方案能够帮到您!
CString转char*
可以使用CString的GetBuffer()函数或者operator LPCTSTR()来获取一个char*类型的指针。
示例代码:
```c++
CString str = "Hello World!";
char* p = str.GetBuffer(str.GetLength()); // 获取指向字符数组的指针
// 使用p操作字符数组
str.ReleaseBuffer(); // 释放指针
```
或者
```c++
CString str = "Hello World!";
const char* p = (LPCTSTR)str; // 强制类型转换为char*类型的指针
// 使用p操作字符数组
```
阅读全文