VS6.0和VS2005开发C++时,二者的编译器之间令人不习惯的不同

来源:互联网 发布:淘宝主持怎么判刑新闻 编辑:程序博客网 时间:2024/05/16 17:27

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!至于理由,我实在是猜不出了……

先这么多了,慢慢加

 

原创粉丝点击