《VisualStudio经典C入门教程.docx》由会员分享,可在线阅读,更多相关《VisualStudio经典C入门教程.docx(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual C+ 2010入门教程第一章:关于Visual Studio. VC和C+的那些事首先,这三个东西有什么区别呢? VC和C+是相同的吗,有什么区别呢?我刚开始学C+ 的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。Visual Studio,我们一般都简称为VS, VC全称是Visual C+, C+就不用解释了吧? Visual Studio其实是微软开发的套工具集,它由各种各样的工具组成,这就好像Office 2007 是由 Word 2007,Excel 2007,Access 2007 等等组成的一个道理。其中 Visual C+就是 Visual Stud
2、io的一个重要的组成部分。Visual Studio可以用于生成Web应用程序,也可以生成桌 面应用程序,在Visual Studio下面,除了 VC,还有Visual C#, Visual Basic,过去还有 Visual J#,现在还有Visual F#等等组件工具,使用这些工具你可以使用C+语言,C#语言 或者Basic语言(微软改进版)进行开发。这就好比桌上放着刀,叉,筷子,你可以用它们来 吃饭,无论你用什么工具都可以,因为它们都是餐具的种。VC,全称是Visual C+,它只是个工具而已。C+是门和C, Basic, C#, Java 个概念的东西,它是门语言,这个概念就同 汉语,
3、英语,法语之间的关系样。语言的可以不同,他们有的复杂有的精简,比如汉语, 我个人认为这是这个星球上最复杂的语言;又比如电影阿凡达中外星人使用的语言,不 过100都个单词而已。当然,语言并没有高低贵贱之分,而对语言掌握的好不好,说的好不 好是有高下之别的。个语言都有哪些要素呢?语法就是其中一个重要的方面,比如你要对你所喜欢的 人表达爱慕之情,那么你应该说“我爱你”,你不能说“你爱我”,因为这搞错了主谓宾关 系,因此我们通常都需要按照一定的规矩和原则表达会让别人正确理解我们真正的含义。 在我们的汉语中有一些成语,它们通常都比较简单短小,但是却能表达非常强烈的感情,而 且效果非常好。比如你想骂个坏人
4、“你实在是太变态了,这种事情都干得出来。”你可以 这样说:“你也太禽兽不如了! ”对于编程的语言来说,其实也是有成语的,在我看来,这 就是库函数。通常我们在编程的时候都推荐选择库函数,因为它通常会比较快些。一直以来都有不少人混淆Visual C+和Visual Studio,其实最初Visual C+发布 的时候还没有Visual Studio这个东西,Visual C+是个独立的开发工具,与Visual Basic 等并列,最后微软将它们整合在起组成了 Visual StudioVisual C+从发布起到现在已经有10个大版本了,我们这里介绍的Visual C+ 2010 就是Visual
5、 C+ 10,简称VC10。上朔10多年,Visual C+ 6.0发布了,这个被称为史上 最经典的VC,现在有很多企业还在用它,大量的教材基于这个版本的VC来写的。然而实际 上VC6并没有想象中的那么美好,孱弱的IDE,不完善的STL等等让它越来越不适应时代的 发展,同时由于后来的版本和它的差别越来越大,让很多习惯于VC6教材的人在新版本上无 所适从。VC6走向历史的终结点其实是必然的,只在于时间问题罢了,况且大部分人都有追 求最新的“嗜好”,所以这里也选择最新版的VC来做入门教程。面来介绍下这个VC版本和VS版本的对应关系:Visual Studio . net (2002) Visual
6、 C+ . net (2002) Visual C+ 7. 0 - _MSC_VER 值 1300这个是微软推出.net战略之后的最早的个版本的VC,这个版本相对VC6来说变化 并不是很大,些不标准的语法依然得到支持,不过IDE界面已经出现了 VS时代的雏形。Visual Stuido . net 2003 - Visual C+ . net 2003 - Visual C+ 7. 1 - _MSC_VER 值 1310这个版本我觉得只能算是个对.net 2002的一个Patch版本,解决了一些Bug,不 规范的语法依然得到支持,比如for循环变量作用域的问题。Visual Studio 20
7、05 - Visual C+ 2005 - Visual C+ 8.0 - _MSC_VER 1400这个版本算是个比较符合C+标准的VC版本了,微软为这个版本的VC加入了大量 的增强版的C库函数(CRT函数),如strcpy_s之类,当然,这部分并不是C和C+标准所要求的。Visual Studio 2008 - Visual C+ 2008 - Visual C+ 9.0 - _MSC_VER 1500这个版本应该是在Vista发布之后出的,如果你是在Vista或者Win7下面使用,那么 应该选择这个版本。这个版本与VC2005变化并不大,不过它的SP!为C+带来些新的STL 库组件(tr
8、i部分),以及MFC下面的Ribbon界面。Visual Studio 2010 - Visual C+ 2010 - Visual C+ 10.0 - .MSC_VER 值 160.Microsoft本程序野美举0这个是Visual Studio 2010中文旗舰版的启动画面。下一章中,我将教大家安装、 配置VS2010/VC2010,以及如何使用它来创建第一个C+程序。如果你没有下载过Visual Studio 2010的话,那么请你提前下载好它吧: http:/hi,baidu. com/ %E2d %B7%B3 %DE%B2%C2%D2/b1og/item/bb0975dd801291
9、d58c1029f 5. html 第二章安装、配置和首次使用VS2010本章将帮助大家安装Visual C+ 2010,帮助大家做一些常见的配置,以及第一次 使用它来写HelloWord程序。安装Visual C+ 2010是属于Visual Studio 2010的一部分,这个在前一章中已经讲解 过,实际上Visual C+ 2010也有更多的子版本,正如Windows有旗舰版、家庭高级版、 家庭初级版样。在上一章的下载地址中有两个版本可以选择,我选择的时候旗舰版,这个 功能最全面。如果你下载完毕了,应该有一个ISO镜像文件,如果你是从我给的地址下载的,那 么那个序列号已经被替换成正版序列
10、号,直接安装即可。下面是ISO文件截图:共享刻录新建文件夹cn_visua l_stud io_2010_u ltimate_x86_dvd_532347.isoWinRARSSg文件这就是光盘镜像文件,我们有多种方式可以安装它,你可以把它烧录成光盘,也可 以用虚拟光驱软件安装它,由于这个ISO已经被修改过了,你甚至可以直接解压它,然后运 行里面的setup. exe进行安装。这里我使用虚拟光驱进行说明,首先我假设你已经安装好了虚拟光驱软件DAEMON Tools Lite,如果你还没有安装,请去游侠补丁网下载,因为在那里你总是能找到最新的免 费版本。接下来我们通过虚拟光驱加载刚下载好的ISO
11、镜像:设备信息.设备参数. 移除驱訪器0缶 4a添惭的SCS!模扌以驱动器帮助退出设备信息.设备参数.噂移除驱动器动慚的SCSI模拟驱动器VOZ3 V。帮助退出在弹出的対话框中选择我们卜我好的ISO文件。这个时候,虚拟光駆里而已经替我们打开了 ISO文件,有的机器可能会自动弹出安装提示,有的不会。如果自动弹出安装提示, 那么直接通过即可,如果没有弹出,那么用资源管理器方式进入虚拟光驱点击Setup.exe 即可开始安装。山于我已经安装好了 VS201,所以接下来无法给大家截图了,我就直接用文字描述吧。当弹出VS2010安装程序之后点下步,然后我们可能会看到完全最小自定义 这样的选项,我推荐大家
12、选择自定义,因为只有这样我们可以自定我们安装的目录。接下 来会选择安装的组件。这个时候我们会看到大量的VS2010的组件,这里我们可以选择是否 安装Basic是否安装C#等等,我在网上找到些图片,虽然跟中文版2010不一样,大家大 概的样子是样的,大家就凑合着看看吧。下面是开始的界面,我们应该选择安装VS2010.上面这个时候选择同意。然后安装包会开始搜集信息:选择目录:This option installs all & the features available for the product.391GB154GB391GB212 GB709GB1G2G8RequiedRemwmg54G
13、B99GBOWet232 GB0 bytes16.2 G8licrosoft Visual Studio 2010 Ultimate Beta 2 Setup - Options PaceUO! Visual Studia 2010 Ultimate SetupSelect features to install:FeaUre desalpbon:Complete VmMl Studo rKtalatoon Inttdl al prograrrmng language: and loobOCystomSelect whch ptogramrang language) and loob to i
14、mial on the nejtf pagePtoduct nstalpMh:C Progrn FiesXMerowft Vnual Stuo 10 0 Biote |Disk space requrecnents:FPrevious I !向& I I C4ncd然后就是开始安装了,注意安装的时候可能需要帀启两次。最后安装成功:。行図Rklicrosoft Visual Studio 2010 Ultisate Beta 2 Setup - Finish Page Visual Studio 2010 Ultimate SetupSuccessO There were errors dunn
15、g setup. Although the components were installed successfulty, some errors were detected. View Error LogTroubleshooting Tips1. For informa bon on known setup issues, see Microsoft Visual Studio readme file, readme.htm located at the root of the installation sources2. Visit Microsoft Help and Support
16、site for Knowledge Base arbcles on troubleshoobng the mstaHabon of Visual Studio 2010.3. To find Help from other Visual Studio Users, try the following newsgroups:o Visual Studio Setupo Microsoft Product Support4. For details about this setup failure, see the setup log file.配置当安装成功之后,我们就可以开始使用了,这里我先
17、教大家做些常见的配置,当 然大家也可以直接用默认的设置,我这样配置主要是为了方便。下面通过开始菜单来启动VS2010吧:KM PlayerMicrosoft Developer Network Microsoft DirectX SDK (February 20 Microsoft DirectX SDK (February 20: Microsoft OfficeMicrosoft Silverlight 3 SDK 中文(简 Microsoft Visual Studio .NET 2003 Microsoft Visual Studio 2005 Microsoft Visual Stu
18、dio 2008 Microsoft Visual Studio 2010 巻 Microsoft Visual Studio 2010 文 8 Microsoft Visual Studio 2010 一一一1Microsoft测试告理器2010 Microsoft Windows SDK Tools Team Foundation Server Tools Visual Studio ToolsMicrosoft Windows SDK v6.0A NVIDIA Corporation PPStreamQuickTime SharePoint StarUML UltralSO1返回搜索程序
19、和文件0如果你是第一次开始,那么可能会让你选择默认的环境设置,我们要使用VC当然选 择VC的配置:%Visual Basic开发设 法Visual C#开发设置 C Visual C+开发设置1% Visual F#开发设置IWeb幵发IWeb开发(仅代码)I常规开西SBI项目肯理设置出现下面的画面表示已经成功安装和运行了。这是起始页面,以后你会经常见到它。注意,你可能会没有VAssistX这个菜单,因为这个是个外部工具,以后会给大家解释它的 用处,现在暂时忽略。接下来让我们来做一些常见的设置。通过菜单工具选项调出配置对 话框,下面是些常见的设置:调处行号,选择文本编辑器,所有语言,把行号打成
20、勾。如果你想调整字体或者颜色,那么可以在这里选择:单击工具栏的空白区域,让我们把生成工具栏调出来:HTML源编集IntelliTracei. Microsoft Office ExcelMicrosoft Office WordRibbonSource Control - SubversionTransact-SQ 编拳器 Visual Assist X后Web浏览器Web 键式发布己XML编辑器报表S报表边框报表格式八,缶E表设计器式布局定向关系图落権的器 格式设置悌則否菊视圉设计器这样我们就可以直接在工具栏上面选择编译项目、编译整个解决方案、运行程序和 调试程序了。选择生成工具栏旁边的小三
21、角形可以自定,我们还可以添加一些按钮:单击自定义界面下面的添加按钮就可以添加新的按钮了,现在我们把开始执行(不调 试)添加工具栏中:ill為6, a 奨导添加命令类别(G):宏 类图 筋 视图5Jd数据库关系图 体系结构 联图像 团队 演程文件以前经常有人问我为什么我的程序闪一下就没了,这就是因为它们把调试(F5, 那个实心的三角形)当成了运行(不调试,Ctrl+F5,空心带尾巴的三角形)了。当然是 闪而过啦。关于调试以后说到。HelloWorld.下面让我们用VC+ 2010也就是VC10来做个控制台的HelloWorld程序吧。VC2010里面不能单独编译个.cpp或者个.c文件,这些文件
22、必须依赖于某个 项EI,因此我们必须创建一个项目。有很多种方法都可以创建项,可以通过菜单:文件,新建,项目;也可以通过工具栏点击新建项目进行创建。这里我们点击起始页面上面的新建项:MidjMoh*wO Visual Studio, 2010 旗舰版逹接到 Team Foundation Server新建项目.打幵项目.最近使用的项目点击之后进入新建项目向导: 臼Windows亨CLR的台歯制CLR秋目名称史):城入名称位4):e:documentsvisualstudio2010Projects帧决方案名称(M):蝠入名称Visual C+ +Visual C + +Visual C+ +Vi
23、sual C+ +Visual C+ 浏.M解决方実创建目录Add to SubversionI .NET Framework 4回静依秀:獣认值Win32控制台应用程序MFCWin32项目Visual C+ +Visual C+ +Visual C+ =空項目Visual C+ +復室歩裝的模板类型:Visual C+ + 用创蠶Win32控制台应用程序的项目已安装的横板Visual C+ +新建项目扈單晶五F1ATL CLR 砌 MFC 如 Win32 其他语言 其他项目奨 数JE簾 建镇项目 ShSC項目上面选择Win32控制台应用程序,名称中输入HelloWorld点确定,至于是否为解
24、决方案创 建目录我们暂时不管,那主要区别在于解决方案是否和项目文件在同一目录。Win32控制令应用程序MFCWin32项目ATL项目MFC DLLWindowsCLR控制台应用程序CLR 5項目Visual C+ +Visual C + +Visual C+ 三Visual C + +Visual C+ +Visual C+ +Visual C+ +Visual C+ +Visual C+ 类型:Visual C+用创建Win32控制台应用程序的项目名称:HelloWorld(K(D:e:documentsvisualstudio2010Projects帐决方案名称(M:HelloWorld,
25、为解决方実创建目录)Add to Subversion已安装的模板虹已安装的模板星/ Visual C+ +ATLCLR 常规MFC 如Win32其他语毒其他项目奖也t故值座 建模項目目.NET Framework 4排序依森:默认值一目接下来进入创建页面,在Win32应用程序向导的第一个页面直接点下步即可:下个页面记得选择空项目,我们不需要预编译头:点击完成。这时候一个空的项目编译成功了,我们不妨编译些试试。点击刚添加的生成工具栏的生成按钮::国占;Q这时候我们会遇到编译错误,为什么呢?因为我们还没有Main函数,对于个C+ 项H来说,一定要有一个且仅有一个main函数(Windows程序需
26、要WinMain,区别以后再讲), 可以是隐式提供也可以是显式提供,至于区别以后会讲到。现在让我们记住这个错误,以后 遇到这个错误的时候一定要想想,我们项目中是否有Main函数。注意这时候即使你托个 有Main函数的文件到VC1O中进行编译也是没有意义的,因为那个文件并不是我们项目的 部分。现在我们可以添加一个代码文件进来了,这个代码文件可以是经存在的也可以是 新建的,这里新建一个。右键单击项目名称,选择添加,新建项:大ZJ关R跟3旺3s嘔II教守矫决方案HelloWorld” (1个项目)/ HelloWorld曲j外自萌生成(U)口石重新生成(E)艇(N)53仅用于项目(J)计算代码度量值
27、(Q 技配置优化(P) 生成自定义(B).添加(D) 引用(日 阳类向导, 国新刎(W)“.Ctrl+Shif司现有项(G).Shift+AltCtrl+Shift+X 新建鐸造器(F)A查类图(V)类(.设启动项目(J)吸G)I 3 Add Solution to Subversion.劎(R)在向导中选择代码、C+文件(.cpp),名称输入Main,确定。添慚项HeUoWorld已安装的模板/ Visual C+ +U1sag鹹Web鋼1M 属性表凶国匐母刘麻値国C + + 文侬.cpp)痩案已安裝的橫板Visual C + +迎:Visual C+ +创M包含C+源代眄的文件双做h)Vi
28、sual C + +Mid( 文件(.idl)假块定义文件(def)Visual C + +Visual C + +Visual C+ +Visual C + +名称国): :,啜W.,二, 二高S ?皖决方案资强言理器 Q xsoon解决方案-HdloWorid, (1个唄目)/ H Hd Io World 外部依账项头文件,a實文件 Main.cpp資源文件 Mainxpp。 e:documentsvi su a I studio 2010ProjectsHelloWorldHelloWorldMain.C|-tmcXude Hain epp1 Hello*orId. vexproj -
29、e docwentsvisval studio 2010ProjectsHelloVorldSDebucHelloVorld exe=二生成 成功1个,失股。个,最秋。个,澳过。个= ft2ABD 碗生成成功行5列I字符11ns /如果编译成功你会看到上面的画面,如果失败会有错误提示,那么你可以根据提示去修改项目配置或者代码。然后让我们用Ctrl+F5或者点那个空心三角形运行一下吧: HelioWorld - Microsoft Visual StudioOK 了,接下来你可以通过更改这个程序去练习C+教材上面的程序了。这一章的内容就是这么多了,下一章中我们将讨论以下内容:什么是C+?什么是编
30、 程等等。第三章关于C+的些问题这一回我自己都不知道应该写点什么好,或许今天的篇幅会比往常短很多。我说过, 这不是C+的教程,因为我还没有那个能力来教大家C+,我能做的,是分享一些学习的经 验,以及教新手如何使用VC2010这个工具去练习和实践其它C+教材上面的程序,如 C+Primer等。今天说的是我学习和使用C+这些年来对C+的些理解,这样的日志其实是最难 写的,因为众口难调,为什么这么说呢?同样的一段音乐不同的人去倾听都会有不同的感受, 不同的心境去听也会有不同的感觉。记得当年我在听雅尼的If I could tell you听到 的是无尽的伤感和无奈,而我的朋友却怎么也听不出来,呵,你
31、去听听之后会有什么感觉?好,回归正题吧。什么是编程下面这段话我是从百度百科“编程”词条复制过来的,不敢掠人之美:编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终 得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、 方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步 步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。这段话说的比较明白,我们如果想让计算机按照我们想要的方式工作,那么我们必 须给它命令,有的常见的任务已经由操作系统帮助我们提供了,操作系统将一些简单的指令 封装成一个简单的操作,使得我
32、们的操作更容易更简单,然而操作系统提供的操作始终是有 限的,如果耍扩展计算机的软件系统,就需要编程了。什么是编程语言如上所说,编程语言就是人类与计算机交流的桥梁。首先编程语言必须是计算机可 以理解的或者是可以间接转换成计算机可以理解的指令的东西。打个比方,如果你在一台普 通电脑面前站着,大叫道:“电脑,给哥把C盘根目录下面的A文件拷贝到D盘根目录下面 去。我猜想你就算叫上一天也没用,因为普通的电脑无法识别你的指令,这就算是对“机” 弹琴吧。什么是编译器如上所说,编程语言是计算机可以直接理解的如机器码或者可以间接转换成计算机 可以理解的指令的东西。那么C+就属于后者,那么是什么把C+翻译成计算机
33、可以识别的 指令的呢?这就是编译器。什么是C+我不想说C+的历史了,我想说,它是一门编程语言,它可以通过编译器的翻译 成为计算机可以识别的指令。比如我们常见的C+代码:int a = 3 + 1;cout a endl;这翻译成机器码或者计算机可以理解的指令大概可以是这样的:现在请为我准备个变量a,请用3+1的和去初始化它,然后请加它的值输出到控 制台上并追加上一个空格。关于C+的更多东西,建议大家去看专门的C+教材或者维基百科、百度百科等相 关词条。学C+学的是什么?学C+学的是什么?可以说C+是很复杂的,因为要实现些在其它语言中很简单 的任务,在C+中通常都需要更多的代码和时间,以创建一个
34、窗口为例,其它语言由于有内 置的支持,甚至当我们创建一个HelloWorld程序时候就已经创建了一个窗口。而在纯粹的 C+环境中,这是做不到的,因为C+并没有提供GUI的内置支持,如果要用C+创建窗口, 我们需要使用到系统API或者使用封装了这些API的些库,前者如Win32程序设计后者如 MFC、wxWidgets1,但是这些并不能代表C+不好,反而C+是很强大的,我们学习C+学得不仅仅是 C+的语法,因为仅仅懂得C+的一些语法又能怎么样呢?演示算法么?其实我认为学习C+ 的初期当然是熟悉C+的语法,中期当然是学习STL等库、系统API以及熟悉C+的面向对 象的思想和一般的设计方法;后期是伴
35、随着你C+生涯的一生的,因为它没有终点的,这时候除了要继续加深对C+的理解之外,还需耍去学习各种各样的基于C+的库,因为你需要 在这些库的帮助下使用C+去实现更具体的东西,比如一些GUI库如QT、wxWidgets, 一些 游戏引擎如Ogre、Unreal、Bigworld等,一一些网络库如ASIO、RakNet、ACE等。这些库大 多有一个特点就是他们是基于C+,封装了底层的API使得我们可以不必每次多去使用繁杂 的API来实现我们想要的功能。当然,你也可以用C+去封装这些API,让自己成为个库 作者,方便他人。学习C+,学习C和C+的库,学习其它各领域的C+库,好好的使用这些库或者 自己写
36、些库,其它些你能想到的与C+相关的事情。怎样才能用C+来做事情通常我认为如果只使用最基本的C+以及其内置库来做事情,那么能做的事情始终 是有局限的,因为C+的库毕竟是有限的,我们能用它来写些核心代码,因为这部分代码 通常都不需要与具体的应用关联起来。使用C+以及C+继承的C库我们能做一些简单的文 件操作,因此还可以写一些与此相关的处理程序。其实不仅仅是C+,比如C#,加入你在应 用中不引入.net Framework下面提供的大量的其它的类(指除了最基本的如System. Console 等之外的类),你又能用C#做什么呢?我们在做C#的时候通常要引入些新的类,引用些 新的命名空间,其实C+也
37、是这样的,要做更具体的事情,就需要除C+本身之外的更多东 西才行。因此,要用C+来做事情,除了 C+的基本语法之外,还需要学习些其它些内容 如 Windows API、 MFC、 DirectX 3D API 等。C+、C#、Java到底谁好?对于这个问题,我想说的是:语言无贵贱,技术有高低。其实无论什么语言,它们 在这里都是编程语言,也许它们看起来不一样,它们用起来也不一样,它们的“翻译”编译 器不一样,但是它们的本质作用就是要用它们自己的方式将我们人类的解决问题的方法、思 路和流程告知给计算机。这也就是为什么C+、C#、Java可以相互交互的原因。每个语言就像江湖上的各门派的武功一样,其实
38、真的没有高下之分,只有个人的修 为,少林武功就一定强于武当么?碧血剑中袁承志不也用普普通通的五行拳击溃了荣彩 么?只是不同的武功在不同的条件下表现不同,他们各自占据了自己有利的地位罢了,以杨 家枪法为例,或许二人比武它不厉害,但是征战沙场估计是再适合不过了。因此不要再纠结什么语言好,什么语言流行了,选择个自己喜欢的方向,然后调 査好那个方向最常用最适合的语言,然后集中注意力坚持的去学习它,这就好了。今天的内容就是这些,希望对大家有帮助。请大家务必好好学习C+教材,并使用 VC2010好好演练,最好能够举反三自己创造问题自己解决!多看看百度知道C/C+下面的 那些问题,每解决一个那样的问题,你自
39、己也会进步。第四章VC2010中初学者常见错误、警告和问题这一章将帮助大家解释些常见的错误、警告和问题,帮助大家去理解和解决 些常见问题,并了解它的根本原因。iostream. h 与 iostream下面的代码为什么在VC2010下面.编译不过去?#include int main()(coutHello World. endl;return 0;错误信息:fatal error C1083:无法打开包括文件:iostream. h : No such file or directory造成这个错误的原因在于历史原因,在过去C+98标准尚未订立的时候,C+的标 准输入输出流确实是定义在这个文
40、件里面的,这是C风格的定义方法,随着C+98标准的确 定,iostream. h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用iostream 头文件来代替,你甚至可以认为iostream是这样定义的:namespace std(秆include iostream, h)因此我们可以简单的修改我们的Hello Worldo#include using namespace std;int main ()coutHello World. endl;return 0;)iostream, h是属于C+的头文件,而非C的,因此标准订立的时候被改成了 o而C的头文件stdio. h等依
41、然可以继续使用,这是为了兼容C代码。但是它们 依然有对应的C+版本,如cstdioXcstdlib等。记住,在VC2010上面采用C+风格的头 文件而不是C风格的头文件,除非你是在用C。warning C4996这是一个警告,请看下面的代码:#include using namespace std;int main () char sz128 = 0;strcpy( sz, Hello World! );cout sz endl;return 0;)上面的strcpy会产生这个警告:warning C4996: strcpy : This function or variable may be
42、 unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for detai Is.这是因为VC从2005版本开始,微软引入了一系列的安全加强的函数来增强CRT (C 运行时),这里对应的是strcpy_So _s意为safe的意思,同样的道理,strcat也是同样。 因此要解决这个问题,我们可以用strcpy_s来替换strcpy,但是注意strcpy_s并非所有 编译器都提供,因此如果要跨编译器,请采用错误信息中所提示的方式,定
43、义CRT SECURE_NO WARNINGS宏来掩耳盗铃吧。另外注意并非所有的加强函数都是在屁股后面 加一s,比如striemp这个字符串比较函数的增强版名字是striemp。下面,用strcpy_s来 更改程序:int main()(char sz128 = 0;strcpy_s( sz, Hello World!);cout sz endl;char* pSz2 = new char128;strcpy_s( pSz2, 128, “hello);cout pSz2 endl;delete pSz2;return 0;)注意,strcpy_s有两个版本,个可以帮助我们自动推断缓冲区的大小,而