VC中CString和Char的互相转换

本文介绍了CString与Char之间的转换方法,包括直接赋值、使用CString的Format()函数、强制类型转换、使用strcpy()及GetBuffer等。同时,还提到了如何通过标准库Stdlib.h中的函数实现int、float与char、CString间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际编程中,常常会碰到一些数据类型的转换,特别是CStringChar的互相转换,一开始,我完全摸不着头脑,从网上看了别人的很多方法,现在我把我常用到的方法做一下总结。

1、char转换成CString

       如:定义一个字符串数组 char strSrc[] = “This is a string.”;

       定义一个字符串指针 char* strPointer = “This is a string”;

       定义一个CString strDes;

(1)    直接赋值

      strDes = strSrc

      strDes = strPointer;

(2)    使用CStringFormat()函数

      strDes.Format(“%s”,strSrc);

      strDes.Format(“%s”, strPointer);

2、CString转换成char

       如:定义一个CString strSrc(“This is a string.”);

       定义一个字符串数组 char strDes[100];

       定义一个字符串指针 char* strPointer;

(1)    强制类型转换

      strPointer = (LPTSTR)(LPTCTSTR)strSrc;

(2)    使用strcpy()

      int nLength = strSrc.GetLength()+1;

      strPointer = new char[nLength];

      memset(strDes, 0 ,sizeof(char)*100);

      strcpy(strPointer, strSrc, nLength);

      strcpy(strDes, strSrc, nLength);

(3)    使用 GetBuffer

      strPointer = strSrc.GetBuffer();

      strSrc.ReleaseBuffer().

    此外,int,float型和char,CString型的转换可以通过标准库Stdlib.h中的itoa,ftoa,atoi,atof转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值