int 、char*、float数据结构类型与CString之间的转换主要通过Format()、atoi()、atof()以及GetBuffer()方法实现。
1、int和CString之间的转换
//此处代码省略
CString c;
int i = 1;
c.fromat(i);
//此处代码省略
2、CString与int之间的转换
//此处代码省略
CString c = “1”;
int i = atoi(c,GetBuffer(0));
//此处代码省略
3、char*与CString之间的转换
//此处代码省略
char i[10];
CString c ;
c.Format(i);
//此处代码省略
4、CString与char*之间的转换
//此处代码省略
CString c ;
int l = c.GetLength();
char* i = new char[l];
i = c.GetBuffer(0);
//此处代码省略
5、float与CString之间的转换
//此处代码省略
float f = 1.0;
CString c ;
c.Format(f);
//此处代码省略
6、CString与float之间的转换
//此处代码省略
CString c = "1.0 ;
float f = atof(c.GetBuffer(0));
//此处代码省略
拓展:
1、Format
函数说明
Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。
函数声明
function Format(const Format: string; const Args: array of const): string; overload;
函数功能
事实上Format方法有两种形式,另外一种是三个
参数的,主要区别在于它是线程安全的, 但并不多用,所以这里只对第一个介绍。Format
参数是一个格式字符串,用于格式化Args里面的值的。Args是一个
变量
数组,即它里面可以有多个
参数,而且每个参数可以不同。 例如:
Format("my name is %6s","wind");
返回的是:my name is wind
函数参数
Format里面可以写普通的字符串,比如"my name is" ,但有些格式指令字符具有特殊意义,比如"%6s"
格式指令具有以下的形式: "%" [index ":"] ["-"] [width] ["." prec] type
它是以"%"开始,而以type结束,type表示一个具体的类型。中间是用来格式化type类型的指令字符,是可选的。各个
参数的含义与用途如下:
2、atoi
C语言库函数名: atoi
名字来源:ASCII to integer 的缩写。
原型: int atoi(const char *nptr);
3、atof
功 能: 把字符串转换成浮点数
名字来源:ascii to floating point numbers 的缩写
用 法: double atof(const char *nptr);