vc2010中初学者常见错误、警告和问题

vc2010中初学者常见错误、警告和问题

ID:32658538

大小:71.47 KB

页数:11页

时间:2019-02-14

vc2010中初学者常见错误、警告和问题_第1页
vc2010中初学者常见错误、警告和问题_第2页
vc2010中初学者常见错误、警告和问题_第3页
vc2010中初学者常见错误、警告和问题_第4页
vc2010中初学者常见错误、警告和问题_第5页
资源描述:

《vc2010中初学者常见错误、警告和问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《VisualC++2010入门教程》系列:VC2010中初学者常见错误、警告和问题这一章将帮助大家解释一些常见的错误、警告和问题,帮助大家去理解和解决一些常见问题,并了解它的根本原因。iostream.h与viostream>卜•面的代码为什么在VC2010下面编译不过去?#includeintmain(){cout«MHelloWorld.,,«endl;return0;}错误信息:fatalerrorC1083:无法打开包括文件:“iostream.h”:Nosuchfileordirectory造成这个错误的原因在于历史原因,在过去C++

2、98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h己经被取消,至少在VC2010下面是这样的,取而代之的是我们要用viostream>头文件來代替,你甚至可以认为viostreama是这样定义的:namespacestd{#include"iostream.hM}因此我们可以简单的修改我们的HelloWorldo#includeintmain()cout«,fHelloWorld.,f«endl;return0;}iostream.h是属于C++的头文件,而非

3、C的,因此标准订立的时候被改成了c而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。但是它们依然有对应的C++版本,女口vcstdio>vcstdlib>等。记住,在VC2010上面采用C++风格的头文件而不是C风格的头文件,除非你是在用CowarningC4996这是一个警告,请看下面的代码:#includeusingnamespacestd;intmain(){charsz[128]={0};strcpy(sz,“HelloWorld!”);cout«sz«endl;return0;}上面的strcpy会产生这

4、个警告:warningC4996:'strcpy':Thisfunctionorvariablemaybeunsafe・Considerusingstrcpy_sinstead.Todisabledeprecation,useCRTSECURENOWARNINGS・Seeonlinehelpfordetails.这是因为VC从2005版本开始,微软引入了一-系列的安全加强的函数来增强CRTCC运行吋),这里对应的是strcpy_So_s意为safe的意思,同样的道理,strcat也是同样。因此要解决这个问题,我们可以用strcpy_s来替换strcpy,但是注意strc

5、py_s并II:•所有编译器都提供,因此如杲要跨编译器,请采用错误信息屮所提示的方式,定义_CRT_SECURE_NO_WARNINGS宏来掩耳盗铃吧。另外注意并非所有的加强函数都是在屁股后面加_s,比如stricmp这个字符串比较断数的增强版名字是_stricmpo下面,用strcpy_s来更改程序:intmain(){charsz[128]={0};strcpy_s(sz,"HelloWorld!H);cout«szvvendl;char*pSz2=newchar[128];strcpy_s(pSz2,128,"hello");cout«pSz2«endl;dele

6、tepSz2;return0;}注意,strcpy.s有两个版本,一个可以帮助我们自动推断缓冲区的大小,而另外一个不能帮助我们推断,因此在编译器不能推断缓冲区大小的时候,我们需要自己指定缓冲区的大小,如上面的程序所演示的那样,关于增强版的函数请参考我写的《深入学习C++String2.1版》。TCHAR、wchar_t>char请大家看下面这个程序:#include#include#includeintmain()MessageBox(NULL,HelloWorld!n,"Information",0);ret

7、urn0;}貌似没什么问题吧?错了,如果你是按照我教你的方法创建的控制台空工程的话,那么会有编译错误:errorC2664:<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。