sailor19840309
驱动牛犊
驱动牛犊
  • 注册日期2005-03-23
  • 最后登录2005-05-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2557回复:8

CString和char类型数据的转换

楼主#
更多 发布于:2005-04-27 09:23
CString和char类型数据能够相互转化吗,他们之间有什么区别

最新喜欢:

bearsammibearsa...
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-27 10:01
CString可以转换成LPCTSTR,LPCTSTR中的C指const,OK,不用多解释了吧.不加上个const,你到处乱用,还不翻天了,非把程序搞DOWN不可.
猜想你说的char是指char字串.不管字串(char *)还是char,要转换成CString,CString都有相应构造函数或=运算符重载函数.
CString要转换成char,有GetAt和[]运算符重载函数.CString要转换成char数组,就要拷贝了.例如strcpy(szChar,(LPCTSTR)szCString).
CString是类;char是基本类型;char *是字符串,有点特殊性的数组(特殊在一般以0结束).
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
sunlinyi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-04
  • 最后登录2011-06-06
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-27 10:12
CHAR为单字节字符我想你应问的是字串char*,将CString类型的变量赋给char*类型的变量:
CString Msg;
Msg=Msg+\"abc\";
LPTSTR lpsz;
lpsz = new TCHAR[Msg.GetLength()+1];
_tcscpy(lpsz, Msg);
char * psz;
strcpy(psz,lpsz);


将char*类型的变量赋给cstring型的变量:
CString myString = \"This is a test\";
即CString 对象是能够增长的动态对象直接付给即可。

mulspace
驱动牛犊
驱动牛犊
  • 注册日期2004-05-11
  • 最后登录2005-04-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-30 12:29
建议楼主自己写写CString类,这样不仅可以应对大部分面试;而且提高水平;至少对这种问题不在困惑
阿傅
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-21 14:22
char c[1023];
CString s;
s = " 抵制日货";
for (int i = 0;i<sizeof(s);i++)
   c = s;
我也是菜鸟,我用的都是笨方法,慢慢在改进。不知道你是不是要问的这种回答。
付出多少就会收获多少
aaron_deng
驱动牛犊
驱动牛犊
  • 注册日期2005-07-22
  • 最后登录2005-08-04
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-07-22 20:37
赞同三搂的意见
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-25 15:16
不知道三楼的能不能写出一个实例来,这么说搞得我是一头雾水。本来我就连转换也不会,更不用说些个CString类了。谢谢
付出多少就会收获多少
dreamday
驱动牛犊
驱动牛犊
  • 注册日期2005-05-31
  • 最后登录2009-11-20
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-07-27 16:16
如果没有定义UNICODE的时候,其实在用到const char *的地方直接用CString的实例好了。用char *的地方用GetBuffer(),注意用完后要用ReleaseBuffer();释放否则CString会乱掉
zhang_jiaqi
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2006-05-25
  • 粉丝0
  • 关注0
  • 积分164分
  • 威望22点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-07-27 19:00
是的,写个例子给我们看看吧
毛主席语录:看看它的过去和现在,就知道它的将来。
游客

返回顶部