方法1、const char*转换

CString str;

const char *p=(const char*)str;

const char *表示你对字符串只读,所以这时候可以直接获取。

方法2、使用强制类型转换

如需要对字符串写权限,则:

CString str;

char *p = (char *)(const char *)str;

方法3、使用GetBuffer(int num)

使用函数的好处是可以通过num值加大字符串缓存区的长度,方便后续的操作。

CString str;

char *p = str.GetBuffer(0);

...

str .ReleaseBuffer();

GetBuffer的参数为0表示获得的缓存区为原样大小,你保证不会越界操作。如果你估计到后续语句会导致字符串长度超过原有长度,则填写参数:GetBuffer(估计的需要大小)。

更多说明:

以上为ansi编程环境,如果需要自适应unicode,则用

LPSTR(即TCHAR*)表示 char *

LPCTSTR(即const TCHAR*) 表示 const char *

cstring越界_CString和char*的转换相关推荐

  1. cstring越界_CString 内核

    关于CString总结 前言:串操作是编程中最常用也最基本的操作之一.  做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MF ...

  2. VC之CString,wchar_t,int,string,char*之间的转换

    VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_t CString path = "asdf"; wchar ...

  3. cstring转为string vc_VC之CString,wchar_t,int,string,char*之间的转换-阿里云开发者社区

    VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_t CString path = "asdf"; wchar ...

  4. MFC中的CString.Format及CString,string,char*之间的转换

    1.CString.Format的使用:https://blog.csdn.net/wangkaishou/article/details/5846152 2.CString,string,char* ...

  5. CString与string、char*的区别和转换

    我们在C++的开发中经常会碰到string.char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆.下面详细介绍这三者的区别.联系和转换: 各自的区别 char*: ...

  6. c语言char转cstring,CString、TCHAR*、char*转换 | 时刻需

    char*.TCHAR*转换CString CString str(****) 下面详细写一下其它转换 // /* ****************************************** ...

  7. CString char BSTR 转换

    一.CString, int, string, char*之间的转换 string 转 CString CString.Format("%s", string.c_str()); ...

  8. CString、TCHAR*、char*之间的转换函数

    CString->LPTSTR的转化可以用函数GetBuff() CString StrInfo="C://Windows"; LPTSTR StrTest=StrInfo. ...

  9. CString、TCHAR*、char*转换 cstring与char *的转化(还包含很多种转换)

    stringbasicsystemdeletenulldate <1>CString 转化为 char* [cpp] view plaincopyprint? CString strDat ...

最新文章

  1. ccache编译器缓存使用方法
  2. 《SQL入门经典》学习笔记
  3. Ubuntu安装 AndroidStudio
  4. linux svn apt get,Ubuntu下安装SVN客户端
  5. python 查找算法_七大查找算法(Python)
  6. 窗口,视图,视图控制器和UIKit基础-IOS开发
  7. 使用DynamicObject的自定义动态行为
  8. Missing iOS Distribution signing identity for …
  9. ai人工智能让女神_让女孩进入人工智能管道
  10. 前端面试题及答案(字节跳动)(一)
  11. matlab求随机过程的数学期望,密度函数已知,怎么用matlab求其数学期望和方差?...
  12. 我酸了,曝光几个腾讯 阿里P8前同事的副业收入
  13. 2020年计算机考研408操作系统真题(客观题)
  14. qss 属性介绍大全
  15. 智优ERP的升级版智优E3_ERP,可以自定义列,和自定义打印公司logo
  16. Spring Boot 1.5.10项目引入knife4j接口文档
  17. 微信电脑版如何修改聊天记录等文件存放位置 电脑版微信在哪里修改存储地址
  18. C#获取打印机状态(1)——System.Management
  19. 该内存不能为written修复
  20. 关于跨线程操作GUI线程控件的疑问

热门文章

  1. 错误学习:Java + OSGi
  2. html dom 修改,HTML DOM - 修改
  3. linux定时创建文件,linux下如何创建定时任务
  4. java串口发送16进制数据_MFC串口通信发送16进制数据的方法
  5. 聚合项目访问后台接口失败_聚合支付系统和免签支付系统对未来支付市场有哪些影响...
  6. c 中头文件和源文件的区别是什么
  7. mysql 远程服务器返回错误404_远程服务器返回异常: (404) 未找到
  8. bing搜索php,PHP 使用bing搜索网站的api封装类用法
  9. java考试安徽工业大学_2011~2012《Java语言程序设计》试卷A及答案(安徽工业大学)...
  10. 0x80070003系统找不到指定路径_Win7系统中gpedit.msc找不到应该如何解决?