关于CString, LPCTSTR, _TCHAR 转化成 char 的问题(简单解决办法)
2011-05-03 11:36
344 查看
关于CString, LPCTSTR, _TCHAR, char 互相转化的问题
首先,
CString 等于
LPCTSTR 等于 const _TCHAR *
以下这样写是没问题的:
CString cstr("sdf"); LPCTSTR lpctStr = cstr ; const _TCHAR* tchar = lpctStr ;
而
CString 到 char 的转化,这个问题说得比较复杂。
VS2008 默认的创建项目里,这样写是会出错的:
CString cstr("sdf"); const char* c =cstr;
这是由于 VS2005和VS2008中增加了一些参数类型的安全性检查。
VS2008默认创建的工程是使用
Unicode 的。
当工程使用 Unicode时,CString 等于
wchar_t*, 而不是 char*; 所以要让上述语句编译得过,就不要设置使用
Unicode 字符。
设置方法如下:
项目>***工程属性(P)
配置属性
> 常规
右边:
把“字符集”选项
设置成 “使用多字节字符集 ”
![](http://hi.csdn.net/attachment/201105/3/0_1304393801yZy3.gif)
按“确定”通过即可;
当然,这样做表示用了ANSI字符集,降低了程序的通用性。
参考资料:http://skpsun.blog.163.com/blog/static/2760055200810142505251/
相关文章推荐
- 关于arm-linux-gcc 规定 char 为 unsigned char 问题 的解决办法
- 关于解决JS中方法名重复问题的简单办法
- 关于arm-linux-gcc 规定 char 为 unsigned char 问题 的解决办法
- 三大框架(SSH)关于URL转发乱码问题(最简单暴力的一种解决办法)
- 关于ssm框架Mybatis,启动tomcat一半的时候卡住问题解决办法
- 关于eclipse中adt插件不能启动的问题的解决办法
- 关于 resgen.exe已退出 代码为 2 的错误问题的解决办法。
- 关于Qt使用windeployqt发布相关问题解决办法--个人整理
- 关于ublox接收机在周日上午不定位(复位重启)问题的解决办法
- 关于JetPack L4T Component Manager下载出错问题的解决办法
- 关于使用cocoaPods,import导入时第三方库头文件没有提示问题的解决办法
- 关于LPCSTR LPCTSTR const char*的问题
- 关于Session过期问题及其解决办法
- (重置adb.exe)android关于The connection to adb is down, and a severe error has occured.这个问题的解决办法
- 个人关于hadoop使用LZO压缩主要步骤以及带来的后续问题和解决办法
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 使用Unicode下的cannot convert parameter 1 from 'CString' to 'const char *' 解决办法
- 关于c# SESSION丢失问题解决办法
- 关于VS调试时出现的找不到可执行文件问题的可能的解决办法
- 关于Ajax跨域访问问题的一种解决办法