您的位置:首页 > 其它

如何实现int, char*, float与CString之间的转换

2013-09-26 09:38 323 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: