【VS开发】CString 转为 char *方法大全
【VS开发】CString 转为 char *方法大全
标签(空格分隔): 【VS开发】
方法1:
CString strTemp;
char szTemp[128];
strTemp = _T("abckdkfei");
memset( szTemp, 0, sizeof(szTemp) );
strcpy( szTemp, strTemp.GetBuffer(strTemp.GetLength()));
方法2:
char * pchar;
CString str="hello";
pchar=(LPSTR)(LPCSTR)str;
方法3:
char szTemp[500];
CString strTemp = "123456789";
memset(szTemp,0,sizeof(szTemp));
sprintf(szTemp,"%s",strTemp);
方法4:
CString strBuf="awefasdf";
char pBuff[100];
memset(pBuff,0x00,100);
memcpy(pBuff,(LPCSTR)strBuf,strBuf.GetAllocLength());
方法5:
CString strBuf="awefasdf";
char *pBuff=strBuf.GetBuffer(0);
如果以上方法都不可行,且转完之后拷贝只有第一个字符,那么恭喜你,因为大概你的工程是基于UNICODE的,直接进行强制转换肯定不行,你需要使用下面的方法进行:
方法6:
可以用API:WideCharToMultiByte进行转换
方法7:
#include <afxpriv.h>
CString strTest = _T("abcd");
USES_CONVERSION;
LPSTR lpszTest = T2A(strTest);
注意事项:
直接转换在基于MBCS的工程可以,而在基于UNICODE的工程是不行的,CString会以UNICODE的形式来保存数据,强制类型转换只会返回第一个字符
【科普】:
可以参考一下http://blog.csdn.net/liu4584945/article/details/6191370
2015-11-14 调试总结 张朋艺
【VS开发】CString 转为 char *方法大全的更多相关文章
- Python字符串转为字典方法大全
方法一: 通过内置函数eval str_info = '{"name": "test", "age": 18}' dict_info = e ...
- Android应用开发学习—Toast使用方法大全
Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示. Toast 最 ...
- NX二次开发-NXString转换为char*方法
NX9+VS2012 #include <uf.h> #include <uf_drf.h> #include <NXOpen/Annotations_Note.hxx& ...
- CString,string,char数组的转换
来源:http://ticktick.blog.51cto.com/823160/317550 //----------------ANSI字符串转换为UNICODE字符串-------------- ...
- Cstring转char、string、int等数据类型的方法(转载)
Cstring转char.string.int等数据类型的方法 (-- ::) 转载 标签: 杂谈 分类: VC CString 转char * CString cstr; char *p = (LP ...
- UniCode 下 CString 转 char* 的方法(转)
转自:http://blog.csdn.net/neverup_/article/details/5664733 今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写 ...
- UniCode 下 CString 转 char* 的方法
今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写入文件发现 每个字符与字符之间都有一个空格存在,而且有内容丢失.原来CString类对象GetBuffer(),后 ...
- Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全
原文:Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全 前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的 ...
- 网站开发进阶(二十六)js刷新页面方法大全
js刷新页面方法大全 在项目开发过程中,需要实现刷新页面.经过学习,发现下面这条语句就可以轻松实现. location.reload(); // 刷新页面 有关刷新页面的其它方法,具体学习内容如下,有 ...
随机推荐
- 使用selenium实现站长素材图片采集
from selenium import webdriver import requests,os from lxml import etree from selenium.webdriver.chr ...
- 通过AOP拦截打印日志,出入参数
import java.lang.reflect.Modifier; import javassist.ClassClassPath; import javassist.ClassPool; impo ...
- 001_Python安装
1. 判断电脑是否已经安装python,电脑->运行->输入:python 2. 如果没有安装,去官网下载:https://www.python.org/downloads/ 3. 安装过 ...
- windows下SVN日志反馈中文乱码的解决方法
转自:https://shiyousan.com/post/635889908703806636 TortoiseSVN中文乱码的问题困扰了我好久,特别是每次使用“以标准差异文件显示修改”时,打开的文 ...
- Java进阶知识19 Struts2和Spring整合在一起
1.概述 1.Spring负责对象创建 2.Struts2负责用Action处理请求 3.整合的关键点:让Struts2框架Action对象的创建交给Spring完成. 2.整合实例 需要用到的 ...
- qt 给父窗体设置样式不影响子控件样式以及子控件设置透明
1.父窗体样式不生效? this->setAttribute(Qt::WA_StyledBackground); 2.父窗样式体影响子控件? this->setStyleSheet(&qu ...
- The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest B、H
比赛链接https://www.jisuanke.com/contest/3098?view=challenges B题 拉格朗日插值 题意 T组输入.一个n次多项式 f(x) ,每项的系数不知道, ...
- CF1153E Serval and Snake【构造】
题目链接:洛谷 这道题是很久以前NTF跟我说的,现在想起来把它做了... 我们发现,如果蛇的两头都在矩形里或矩形外,则询问为偶数,否则为奇数. 所以我们询问每一行和每一列,就能知道蛇的两头的横纵坐标了 ...
- c#简单的SQLHelp
public abstract class SQLHelper { //只读的静态数据库连接字符串 //需添加引用System.Configuration; public static readonl ...
- CF1217C
CF1217C 题意: 给定一个01串,一个good01串的定义是这个01串所代表的二进制数字刚好等于它的长度,允许前导零,问这个01串当中有几个good子串 解法: 枚举每一段连续的 $ 0 $ , ...