MFC简单数据类型类及其转换
2012-05-13 12:41
281 查看
转自:http://hi.baidu.com/sunkanghome/blog/item/4c1785f509710221bc3109b7.html
简单数据类型类
CString对象由一个可变长的字符序列组成,它提供了一些简单的函数和操作符成员(如连接和比较操作符等)。
1、CString对象的连接
CString对象的连接是通过该类的“+”成员操作符进行的,它可以将两个字符串合并起来,并返回一个CString对象。需要注意的是两个参数字符串中至少有一个必须是CString对象,另外一个可以是字符或字符指针。
CString gray("Gray");
CString cat("Cat");
CString graycat=gray+cat;
2、格式化字符串
CString类的成员函数Format可以将一系列字符和值格式化并存储到CString中。当将一个字符串作为可选的参数传递时,必须将它显式的映射为LPCTSTR。
int iCount;
CString str;
str.Format("The total count is %d",iCount);
格式化字符串也是将其他类型的数据转化为CString类型的常用技巧。例如,将整型值转化为字符串形式:
int iCount;
CString str;
str.Format("%d",iCount);
3、CString型转化为int、long型
有时需要将字符串类型转化为int型或long型,可以使用_ttoi或_ttol等函数。
str1="-98 dogs";
i=_ttoi(str1);
str2="885 dollars";
l=_ttol(str2);
转换后如下:
i==-98;
l=885;
4、字符指针(char*)和CString相互转换
从一个字符指针型数据或字符串创建CString对象。
定义字符型指针变量pChar并为其赋值如下:
char*pChar="test only";
可以使用如下方法中的一种,从字符指针型数据中创建CString对象:
CString str="test only";
CString str("test only");
CString str=pChar;
CString str(pChar);
从CString对象得到char*指针,介绍三种方法:
(1)使用强制类型转换的方法将CString对象转换为LPCTSTR类型。CString类重载了LPCTSTR操作符,使用该操作符可以得到CString对象缓冲区的地址。因此,如果需要一个指向CString的字符串指针,可以按照如下方式进行:
CString str("test only");
LPCTSTR pChar=str;
(2)使用CString对象的GetBuffer成员函数。如果需要修改CString的内容,可以使用成员函数GetBuffer,该成员函数返回一个LPTSTR类型的缓冲区地址,由于它不是const型,所以可以修改CString的内容。但需要注意的是,在使用CString对象其他的任何任何成员函数之前必须调用ReleaseBuffer成员函数。
CString str("test only");
LPTSTR pChar=str.GetBuffer(10);//直接访问CString缓冲区
strcpy(pChar,"Hello");
str.ReleaseBuffer;
(3)使用强制类型转换的方法将CString对象转换为LPTSTR 类型。首先把CString强制类型转换为LPCTSTR,以获得CString对象中字符串的地址,然后再强制类型转换为LPTSTR,以便对其进行赋值操作。
CString str("test only");
LPTSTR pChar=(LPTSTR)(LPCTSTR)str;
字符串指针
LPSTR-----------32位指针,指向一个字符串(CString)
LPCSTR---------32位指针,指向一个常数字符串
LPTSRE---------32位指针,指向一个字符串,此字符串可以移植到Unicode和DBCS(常用)
LPCTSTR-------32位指针,指向一个常数字符串,此字符串可以移植到Unicode和DBCS(常用)
简单数据类型类
CString对象由一个可变长的字符序列组成,它提供了一些简单的函数和操作符成员(如连接和比较操作符等)。
1、CString对象的连接
CString对象的连接是通过该类的“+”成员操作符进行的,它可以将两个字符串合并起来,并返回一个CString对象。需要注意的是两个参数字符串中至少有一个必须是CString对象,另外一个可以是字符或字符指针。
CString gray("Gray");
CString cat("Cat");
CString graycat=gray+cat;
2、格式化字符串
CString类的成员函数Format可以将一系列字符和值格式化并存储到CString中。当将一个字符串作为可选的参数传递时,必须将它显式的映射为LPCTSTR。
int iCount;
CString str;
str.Format("The total count is %d",iCount);
格式化字符串也是将其他类型的数据转化为CString类型的常用技巧。例如,将整型值转化为字符串形式:
int iCount;
CString str;
str.Format("%d",iCount);
3、CString型转化为int、long型
有时需要将字符串类型转化为int型或long型,可以使用_ttoi或_ttol等函数。
str1="-98 dogs";
i=_ttoi(str1);
str2="885 dollars";
l=_ttol(str2);
转换后如下:
i==-98;
l=885;
4、字符指针(char*)和CString相互转换
从一个字符指针型数据或字符串创建CString对象。
定义字符型指针变量pChar并为其赋值如下:
char*pChar="test only";
可以使用如下方法中的一种,从字符指针型数据中创建CString对象:
CString str="test only";
CString str("test only");
CString str=pChar;
CString str(pChar);
从CString对象得到char*指针,介绍三种方法:
(1)使用强制类型转换的方法将CString对象转换为LPCTSTR类型。CString类重载了LPCTSTR操作符,使用该操作符可以得到CString对象缓冲区的地址。因此,如果需要一个指向CString的字符串指针,可以按照如下方式进行:
CString str("test only");
LPCTSTR pChar=str;
(2)使用CString对象的GetBuffer成员函数。如果需要修改CString的内容,可以使用成员函数GetBuffer,该成员函数返回一个LPTSTR类型的缓冲区地址,由于它不是const型,所以可以修改CString的内容。但需要注意的是,在使用CString对象其他的任何任何成员函数之前必须调用ReleaseBuffer成员函数。
CString str("test only");
LPTSTR pChar=str.GetBuffer(10);//直接访问CString缓冲区
strcpy(pChar,"Hello");
str.ReleaseBuffer;
(3)使用强制类型转换的方法将CString对象转换为LPTSTR 类型。首先把CString强制类型转换为LPCTSTR,以获得CString对象中字符串的地址,然后再强制类型转换为LPTSTR,以便对其进行赋值操作。
CString str("test only");
LPTSTR pChar=(LPTSTR)(LPCTSTR)str;
字符串指针
LPSTR-----------32位指针,指向一个字符串(CString)
LPCSTR---------32位指针,指向一个常数字符串
LPTSRE---------32位指针,指向一个字符串,此字符串可以移植到Unicode和DBCS(常用)
LPCTSTR-------32位指针,指向一个常数字符串,此字符串可以移植到Unicode和DBCS(常用)
相关文章推荐
- MFC简单数据类型类及其转换
- Java中数据类型及其之间的转换(转)
- Java中数据类型及其之间的转换
- JavaScript基础——基本概念:数据类型及其转换
- js中的数据类型及其转换
- 数据表与简单java转换/数据表与简单java类映射(一对多)
- 简单问题(2)---数据类型转换的潜规则
- Java中数据类型及其之间的转换
- Java学习系列(二)Java注释、标识符、基本数据类型及其转换易错点详解
- 【Java SE】————数据类型及其转换
- MFC中各种数据类型的转换
- MFC(基于VS2013)连接下位机简单实例(下位机连接以及Socket数据发送接收)
- MFC----数据类型转换
- VC++常用数据类型及其操作转换详解
- 数据结构————链表及其简单应用2
- ArcGis转换OSM数据及其数据裁剪
- Struts2之简单数据类型转换
- (转)matlab数据类型及其简单的使用方法
- javascript入门·简单运算和数据类型转换
- Windows/MFC,C++中的TCHAR体系/char体系/WCHAR体系及其相互转换