c/vc/c++不同数据类型之间的转换

3 篇文章 0 订阅
c/vc/c++不同数据类型之间的转换


一.常见的转换 int,char,string,CString,float,long,double类型之间的转换
//**********************************************//
CString.format(”%s”, string.c_str());//string 转 CString
CString.format(”%s”, char*);//char* 转 CString
string s(char *);//char* 转 string  只能初始化,在不是初始化的地方最好还是用assign().
char *p = string.c_str();//string 转 char *
string s(CString.GetBuffer());//string 转 CString GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
CString strtest;char * charpoint;charpoint=”give string a value”;strtest=charpoint;//char*转CString,c语言的字符串转化为mfc的字符串CString 采用的是直接赋值的方式
charpoint=strtest.GetBuffer(strtest.GetLength()); //CString 转char*  也可以使用内存拷贝的形式
标准C里没有string,char *==char []==string
可以用CString.Format(”%s”,char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。


将字符转换为整数,可以使用atoi、_atoi64或atol。而将数字转换为CString变量,可以使用CString的Format函数。
有三个函数可以将字符串的内容转换为字符数组和c字符串string
data()返回没有”\0“的字符串数组   //data()函数返回指向自己的第一个字符的指针
c_str()返回有”\0“的字符串数组    //c_str()函数返回一个指向正规C字符串的指针, 内容与本字符串相同
copy()
CString转换 char[100]
char a[100];
CString str(”aaaaaa”);
strncpy(a,(LPCTSTR)str,sizeof(a));
有int,float,double,long,string,CString
本地2010 msdn上面的数据类型转换常用函数地址:
http://127.0.0.1:47873/help/1-2980/ms.help?method=page&id=B15B5268-7467-49F1-BF95-5299B598F94C&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN
和C标准库中的常用数据类型转换函数。
C语言实行隐式类型数据转换C++实行显示类型转换
二.复杂的数据类型之间的转换
1.不同指针数据类型之间的转换
2.C++不同类对象和父子类对象及其指针之间的相互转换。


关键字static_cast 用来在两个不同类型之间进行强制转换,并且没有运行时间检查.
关键字dynamic_cast强制将一个类型转化为另外一种类型,并且在执行运行时时检查它保证它的合法性。如果你想在两个互相矛盾的类型之间转化时,cast的返回值将为NULL.












 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值