代码改变世界

总结:VC++中常用类型转换

2007-03-19 23:05  flyingfish  阅读(1693)  评论(0编辑  收藏  举报

尽管C#2.0的类库超级好用,一般的事情尽量都用C#作了,感觉C#是我用过的继Delphi之后另一个高效的开发利器,包括类库、语法、RAD环境等。

但是工作中常常还是避不开C++,倒不是不会用,算来也拿它写过不少的东西了。不过常常是用用放放,学了忘忘了又学,用那一句流行的词是啥来形容以下,对faint!今天又要把一些C#的代码改到C++,才发现甚至现在把一些基本的类型转化都忘记的差不多了。

冒出个想法,就在cnblog上作个记录得了,下次就上这里找免得一些很老把时间浪费在一些很低级的细节上。记在电脑上总是会忘记了或者不知道存在那里了,网上可能会好点吧。

一、字符串转换

1、CString转化为整形Int
CString str = _T("12345");
//atoi,不知道还有别的函数没有,目前只知道有atoi
atoi((LPCSTR)str);//用LPCSTR转化为const char*即可

 

2、将一个CString 转到一个char的数组(char*)中
char buffer[256];
CString str;
1)、//strcpy方法
strcpy(buffer, str.GetBuffer());
str.ReleaseBuffer();
2)、//强制转化方法
buffer=(LPTSTR)(LPCTSTR)str;
3)、//sprintf方法
sprint(buffer,"%s",str)
//如果在vc2005中,需要将项目设置为MultiByte如果为

参见:纪念一下VC2005的CString转化到char*事件

 

二、数值处理

1、浮点数取整方法

1)、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int)2.5; 这种方法采用的是四舍五入。

2)、使 用 floor函 数 。 floor(x)返回的是x的整数部分。如:
floor(2.5) = 2
floor(-2.5) = -2
3)、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如 :
ceil(2.5) = 2
ceil(-2.5) = -3

4)、求余数%,fmod函数。
8 % 3 = 2。适用于整数
fmod(8.1,3) = 2.1。适用于浮点数。这个函数找了好久,本来都自己写了,不相信c++没有带,还是找到了。