http://hi.baidu.com/xzbmask/item/5885a940612bcde3bcf4511c
本来用VC++6.0(以下简称VC)一直用得很舒服,但是因为工作原因,需要转到VS2005(以下简称VS),所以开始学用。结果,VS的编译器让我无数次翻开百度(大家都明白,百度点击率又一次加了起来)。现在当做笔记把它们记下来,也跟像我一样的初学者分享。
1. 字符串的输入/输出:
VC直接用""(双引号)引起来就可以了,VS就复杂了,得用_T(""),几乎大部分的错误都是因为这个习惯没改过来。
2. CString和int间的转化:
(1)CString转int:VC中,用atoi();VS就不得了,用这个会提示
error C2664: 'atoi' : cannot convert parameter 1 from 'CString' to 'const char *' d:\c++.net\xxjcdgxt\xxjcdgxt\sell.cpp
得用_ttoi()才能转化;
(2)int转CString:这个没变,都用CString类的format函数就可以了。例子:
CString s;
int a=5;
s.Format("%d",a); //VS中要写成s.Format(_T("%d"),a);
于是,s就成为a的字符串形式了
3. 使用CFile类对象读取文件:
在VC 6.0及之前,CFile类对象读取超过64K的文件需要用到ReadHuge函数,小于64K就直接用Read。
在VC 7.0及之后,取消了ReadHuge这个函数,不论文件多大,都直接用Read就可以了。
4. 使用iosteam中的成员和方法
VS6.0中,直接用#include <iostream.h>即可。
而VS2005中#include <iostream.h>会直接报错,无法引用iostream.h,因为公用头文件的文件夹里没有iostream.h文件!而代替的是iostream(注意没有扩展名),猜想这大概是区别基础头文件和扩展头文件的命名方式。但是#include <iostream>后,还是不能使用cout,cin之类的方法。这时,还得using namespace std!至于理由,我实在是猜不出了……
先这么多了,慢慢加