Visual C++宝典(含CD光盘1张)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-02 01:09:14

点击下载

作者:陈国建,游梁,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Visual C++宝典(含CD光盘1张)

Visual C++宝典(含CD光盘1张)试读:

内 容 简 介

C++语言是从 C语言发展而来的一种面向对象的高级语言,而 Visual C++则是 C/C++ IDE,即集成开发环境。本书从C++基础开始讲解,由原理到实践、由浅到深、全面地介绍了在 Visual C++环境下,如何利用C++语言编写Windows应用程序。本书分为 4部分,包括 33章。第 1部分是 Visual C++编程入门介绍,介绍了 Windows编程的入门知识和C++语言的一些基础知识;第 2部分是 Visual C++分类应用程序编程介绍,包括 Windows应用编程和控制台程序,以及在 Visual C++下如何编写 Win32程序、对话框程序、单文档与多文档程序、动态链接库和ActiveX控件程序;第3部分是 Visual C++功能应用程序介绍,在本部分中,讲解了 Visual C++下最常见的操作编程,包括文件操作、数据处理、系统时间、错误与异常处理、多线程技术、定时器、输入输出设备、串口编程、网络编程、数据库编程、Windows内存管理、程序调试以及网络安全等;第4部分介绍了 Visual C++的一些杂项编程,包括界面控制、Office文件的读写操作、文件与文件夹、程序控制以及系统控制等。本书内容丰富、实用性强,许多代码可以直接应用到工程项目中,它适合于 Visual C++ 6.0的初学者和使用 Visual C++从事开发的程序员使用,对于具有一定 Visual C++编程经验的读者,本书也是非常好的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据Visual C++宝典 / 陈国建等编著. —北京:电子工业出版社,2011.1 (宝典丛书)ISBN 978-7-121-12437-2Ⅰ. ①V… Ⅱ. ①陈… Ⅲ. ①C语言-程序设计 Ⅳ.①TP312中国版本图书馆CIP数据核字(2010)第233953号策划编辑:张月萍 责任编辑:董 英印 刷:北京东光印刷厂装 订:三河市皇庄路通装订厂出版发行:电子工业出版社北京市海淀区万寿路173信箱邮编:100036开 本:787×10921/16印张:49字数:1379千字印 次:2011年1月第1次印刷定 价:99.00元(含光盘1张)凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件到dbqq@phei.com.cn。服务热线:(010)88258888。

前 言

Visual C++是微软公司开发的一个集成开发环境(IDE),就是使用C++的一个开发平台。Visual C++是Windows平台上的C++编程环境,学习Visual C++要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等知识,难度比较大。笔者长期从事Visual C++编程工作,因此比较清楚初学者在学习Visual C++编程过程中常见的一些问题和学习过程中的一些困惑。本书的目的是为了让Visual C++的初学者对于Visual C++有一个系统、全面的认识,同时能为今后继续学习打下良好的基础。本书可以快速地使初学者掌握Visual C++编程知识,能使读者对Visual C++有一个全面、直观、系统的认识,最终可以完成独立、专业的Visual C++编程工作,同时本书中还提供了大量实例供读者学习和参考。本书的特点本书可帮助读者真正掌握Visual C++编程的基础知识,达到:遇到问题时,可以立刻独立分析程序;可以利用已学习的知识,对一些具体的问题有一定的编程思路,可以设计简单的程序;了解一些完整的实际问题的处理例子,为Visual C++学习打下一个坚实的基础。本书的特点主要体现在以下几个方面。● 本书的编排采用循序渐进的方式,适合初学者逐步掌握 Visual C++编程的基础、技巧和精髓。● 本书编排了大量的实例,为读者学习 Visual C++编程提供了方便。● 良好的程序调试习惯的养成是语言学习者必须具备的,因此本书加入了程序调试这一章(见第25章),本章可以在调试程序中随时翻阅,不受基础知识的限制。● 在比较重要的知识点的章节后面,都给出一个具体问题以介绍这个知识点的应用,这样可以加强编程的训练。本书源代码都附在随书光盘中,方便读者使用。本书的内容安排本书共分为四部分,共33章,从Visual C++集成开发环境的操作讲起,再进一步介绍Visual C++编程中的窗口概念以及创建窗口等一系列相关的知识,具体内容安排如下。第1、2章:介绍Visual C++集成开发环境。第 3 章:窗口和窗口消息等知识的介绍,其中包括窗口的创建、显示隐藏、位置大小改变及窗口几个常用的消息,以及相应的实例。第4章:Win32应用程序以及Win32控制台程序的编程,其中包括Win32应用程序的窗口消息及一些与窗口相关的常见Win32 API函数,以及Win32控制台程序的编程技巧及实例。第5章:GDI绘画,介绍有关图形的绘制以及画刷和画笔的界面编程,在最后一节还会介绍一个桌面涂鸦的实例。第6章:MFC的控制详解,在6.2节还会介绍常用几个控件的使用例子。第7章:动态链接库程序,包括Non-MFC DLL、MFC规则DLL、MFC扩展DLL以及DLL的显式调用和隐式调用。第8章:单文档应用程序的编程开发,其中还会介绍到工具栏、状态栏和菜单的编程知识。第 9 章:多文档应用程序的编程开发,其中介绍到多文档应用程序的结构和多文档的主要编程技巧。第10章:介绍有关对话框应用程序的编程开发,其中还会介绍几种通用对话框。第11章:介绍有关GDI+绘图的基础知识,介绍有关在GDI+环境下图形的绘制,包括画刷和画笔的界面编程,不同格式图片的显示,动态 GIF 图片的显示,图片透明及绘制图像时矩阵的旋转和平移变换。第12章:简单地介绍了开发ActiveX控件的基本知识。第13章:介绍文件的操作方式,包括使用C运行时库函数、MFC封装的类库以及直接使用API函数对文件进行操作,每种方式都列举出了实例。第 14 章:介绍 Windows 数据处理技术,主要包括字符串的分割、格式化、大小写转换以及如何配置Unicode开发环境。第15章:介绍在Windows环境下如何通过不同的方式获取系统时间,包括Windows API函数获取、C运行时库获取和MFC类获取。第16章:Windows错误与异常处理,通过Windows API函数获取错误代码,以及在程序中如何抛出、捕获、处理异常。第17章:多线程技术,包括单线程与多线程、辅助线程与主线程、线程之间的通信和同步问题、共享数据保护以及线程与进程的优先级问题。第18章:定时器技术,主要介绍定时器概念、一般定时器的使用、多媒体定时器的使用以及如何自定义定时器。第19章:Windows消息处理机制,包括消息介绍、Windows消息处理、如何使用自定义消息等。第20章:输入设备控制,主要包括鼠标和键盘这两种输入设备的控制。第21章:串口编程技术,介绍了串口编程概念、串口通信协议、使用Windows API函数进行串口通信以及使用ActiveX控件(MSComm)进行串口通信。第22章:网络编程技术,包括网络编程介绍、WinSock讲解、如何编写TCP与UDP程序, UDP程序主要包括点对点通信、UDP广播和UDP组播。第23章:简要介绍了几种常用的小型化数据库,并结合实例详细讲解当前比较流行的两大数据库访问技术ODBC和ADO,每种技术都给出了完整的案例。第24章:介绍了内存的概念以及在编程中内存的分类,结合实例讲解了内存管理方式,C/C++语言对内存的操作以及如何有效地防止内存泄露和访问内存违例。第25章:介绍程序调试所必须具备的条件,详细讲解源代码级调试器Visual C++ 6.0自带调试器以及二进制级调试器Windbg,并结合实例演示了对问题程序的调试。第26章:介绍网络安全的重要性,实现网络安全的方法,并结合实例讲解如何进行进程注入以及如何防止被注入。第 27 章:介绍拖放协议基本原理,以及实现拖放的两种常用方式:文件管理器拖放和 OLE拖放。在最后实现了一个控件之间进行拖放的实例。第28章:界面控制介绍,介绍了托盘图标程序的制作、对话框中显示工具栏与状态栏、控件自绘,包括文本框控件自绘、列表视图框控件自绘、进度条自绘、下拉列表框控件自绘等。第29章:介绍使用OLE自动化操作Word文件以及Excel文件的方式和原理,并在最后分别给出了实例。第30章:介绍如何像程序安装包一样在桌面上创建快捷方式,结合实例代码讲解使用Windows API以及Windows Shell操作文件和文件夹,最后介绍了获取系统目录以及系统临时文件的方式。第31章:介绍实现应用程序只执行一个实例的多种不同的方式,并结合实例详细讲解如何获取可执行程序的图标,以及一个进程如何去控制另一个进程。第32章:介绍了系统控制的概念,并结合实例详细讲解显示器打开与关闭,系统的关闭与重启,获取操作系统版本信息,获取系统IP信息的实现方式。第33章:介绍延时处理的应用场景,并结合实例详细介绍了几种不同精确级别的延时方式,最后给出了一个完整的应用实例。本书由浅入深,由理论到实践,尤其适合初级读者逐步学习和完善自己的知识结构。适合阅读本书的读者● C/C++开发人员● 有C语言经验的开发人员● 没有任何语言学习经验的 Visual C++编程初学者● 有志于成为 Visual C++程序员的读者● 有 Visual C++编程基础或正在学习数据结构需要参考 Visual C++编程的读者本书作者本书主要由陈国建、游梁和张建辉编写。其他参与编写的人员有张金霞、于锋、张伟、曾广平、刘海峰、刘涛、赵宝永、郑莲华、张涛、杨强、陈涛、罗渊文。在此对所有参与编写的人表示感谢!编者

第1部分 Visual C++编程入门

第1章 Windows编程入门

第2章 C++编程基础本章包括● Windows程序入口● 软件开发工具● Windows系统介绍● Windows应用编程接口● Visual C++ 6.0 介绍Windows 操作系统是目前世界上应用最广泛的操作系统之一,它提供的软件开发工具 Visual C++ 6.0(以下简称VC6.0),集成了C++编译器和Windows操作系统的可视化开发环境,已经成为程序员进行软件开发的首选工具。本章将讲述Windows编程基础以及开发工具VC6.0。

1.1 Windows开发简介

Windows系统是一种基于图形界面的多任务操作系统,它与在Windows环境下开发的程序有着相同的外观和命令结构。为了帮助程序员开发Windows应用程序,Windows提供了大量的API函数和MFC类库,以方便用户使用例如对话框、滚动条、图标以及其他一些友好的用户界面应该具有的特性。

1.1.1 Windows应用编程接口(API)

应用程序编程接口(API,即Application Programming Interface),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力,而又无须访问源码或理解其内部工作机制的细节。API函数可以分为以下4种类型。● 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。● 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。● 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。● 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。当前应用于API的标准包括ANSI标准SQL API。另外还有一些应用于其他类型的标准尚在制定之中。API可以应用于所有计算机平台和操作系统,这些API以不同的格式链接数据(如共享数据缓存器、数据库结构、文件框架),每种数据格式要求以不同的数据命令和参数实现正确的数据通信。Windows API是一套用来控制Windows各个部件的外观和行为的一套预先定义的Windows函数,它的范围可以从桌面外观到为一个新进程分配的内存。用户的每个操作都会引发一个或几个API函数的运行,以告诉Windows系统用户的操作情况。Windows API在某种程度上很像Windows的天然代码,其他的语言只是提供一种能自动而且更容易的访问API的方法。比如Visual Basic(简称VB),它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法。也就是说,程序员用VB写出的每行代码都会被VB转换为API函数传递给Windows系统。如果程序员要开发出灵活、实用、高效率的Windows应用程序,必然要涉及直接使用API函数,它们都包含在Windows系统目录下的动态链接库文件中(如User32.dll、GDI32.dll和Shell32.dll等)。

1.1.2 软件开发工具包(SDK)

软件开发工具包(SDK,即Software Development Kit)是一些被程序员用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。SDK 可能只是一些简单的为某个程序设计语言提供应用程序接口的文件,也可能包括能与某种嵌入式系统通信的复杂硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。Windows SDK即Windows提供的开发工具包。微软每推出一个重要的Windows版本,一般都会同时推出一个SDK。该SDK包含了开发该Windows版本所需的Windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。高版本Visual C++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本比如Visual C++ 5.0则需要安装SDK。由于Windows SDK包含了使用API的必需资料,包括API函数、动态链接库(DLL),以及API函数所对应的“.h”和“.lib”文件,因此人们也常把仅使用API来编写Windows应用程序的开发方式叫做“SDK 编程”。API和SDK是开发Windows应用程序所必需的东西,因为其他编程框架和类库都是建立在它们之上的,比如VCL和MFC。

1.2 Windows编程基础知识

Windows编程基础知识主要包括Windows编程的一些基本概念和Windows应用程序的基本框架结构两方面的内容。本节将讲述Windows编程基础的基本知识结构。

1.2.1 Windows编程的基本概念

Windows编程的基本概念主要包括3个概念,分别是用户界面概念、对象与句柄概念和匈牙利命名法概念,下面分别进行介绍。1.用户界面概念用户界面是指图形用户界面,它采用多窗口系统,显示直接形象,操作简便,也可以称为人机界面。在Windows系统中,用户界面主要包括以下几方面。● 窗口:窗口是屏幕上与一个应用程序相关的矩形区域,它是用户与产生该窗口的应用程序之间的可视界面。对应用程序来说,窗口是应用程序控制下的屏幕上的一个矩形区域,应用程序创建并控制窗口的所有方面。当用户启动一个应用程序时,一个窗口就被创建,每当用户操作窗口中的对象时,程序就有所响应。● 边框:绝大多数窗口都有一个环绕着它的边框,边框不仅作为窗口的边界,它也用来指明窗口的状态,即窗口是否是一个活动窗口。当我们将鼠标指针放在边框上按下鼠标左键并移动鼠标时,就可以改变窗口的大小。● 标题栏:标题栏位于窗口的顶部,其中显示的文本信息用于标注程序,一般是应用程序的名字,这便于用户知道哪个应用程序正在运行。标题栏的颜色反映一个窗口是否是一个活动窗口。● 控制框:控制框是每个窗口左上方的小图片,每个应用程序都使用它。在控制图标上单击鼠标键会使 Windows 显示系统菜单。系统菜单提供了诸如还原、移动、改变大小、最小化、最大化以及关闭这样的标准操作。● 最小化图标:每个Windows应用程序都在窗口的右上角显示3个图标。最左边的图标是一段短下画线,这就是最小化图标,它可以使程序被最小化。● 最大化图标:最大化图标是3个图标中中间的那一个,看起来像两个小窗口。单击最大化图标可以使应用程序占满整个屏幕,其他应用程序窗口都会被盖住。● 垂直滚动条:如果有必要,应用程序可以显示一个垂直滚动条。垂直滚动条显示在应用程序窗口的右边,在两端有两个方向相反的箭头,它还有一个着色的棒和一个透明的窗口块,后者被用于显示当前显示内容与整个文档的关系。用户可以用滚动条来选择显示哪一页,一般在任何一个箭头上单击会使显示内容移动一行。单击向上箭头下方的窗口块并拖动它会使屏幕输出快速更新到应用程序屏幕输出的任意位置。● 水平滚动条:应用程序也可以显示一个水平滚动条,水平滚动条显示在窗口的底部,具有与垂直滚动条类似的功能。用它来选择要显示哪些列。一般在任何一个箭头上单击会使显示内容移动一列。单击向左箭头右边的窗口块并拖动它会使屏幕输出快速更新到应用程序屏幕输出的任意位置。● 菜单栏:一个可选择的菜单栏,可以显示在标题栏的下方,通过菜单栏来选择菜单和子菜单。这种选择可以通过用鼠标单击,也可以用热键组合来实现。热键组合经常是 Alt 与命令中带下画线的字母的组合,比如File命令中的“F”。● 用户区:通常用户区占据了窗口最大的部分,这是应用程序的基本输出区域。应当由应用程序来负责管理用户区。此外,应用程序也可以输出到用户区。2.对象与句柄概念Windows 应用程序中存在许多对象,例如选单、窗口、图标、内存对象、位图、刷子、设备对象和程序实例等,在Windows中,对象使用句柄进行标识,这样通过使用一个句柄,应用程序可以访问一个对象。在Windows软件开发工具中,句柄被定义为一种新的数据类型。在应用程序中,对句柄的使用一般只有赋值(句柄可以被赋以初始值、被改变为用于标识同类对象中的另一个对象和被用做函数的参数)、与NULL进行相等比较(判定一个句柄是否为一个有效的句柄)和与标识同类对象的另一个句柄进行相等比较(判定两个句柄是否标识同一个对象),它的长度将会随着不同的计算机平台和Windows的发展而有所变化,例如,在32位Windows中,句柄是一个32位的数据,而不是整数类型。一种通用句柄类型为HANDLE,在Windows 3.1以前的版本中,它可被用于标识所有种类的对象,在Windows 3.1中,部分地保留了这一特点,并且从HANDLE类型又派生出了一些新的句柄数据类型,每种类型的句柄用于标识一种类型的对象。表1.1列出了一些常见的句柄类型。表1.1 Windows常见句柄类型3.匈牙利命名法概念匈牙利命名法是一个编写代码的基本规范,所有 Microsoft 的 API、界面和技术文件等都采用这个规范。匈牙利命名法包括许多与命名有关的约定,比如变量的命名、函数的命名、类型和常量的命名、类的命名以及参数的命名。通常一个匈牙利名称由一个或者多个前缀、一个基本标识和一个修饰符拼接而成。基本标识指示了变量的类型(如“co”代表color),前缀修正该类型(如“rg”表示数组,那么“rgco”就表示颜色数组),修饰符描述了该特定类型的应用(如“rgcoGray”表示用做灰度的颜色数组)。并非所有名字都会使用全部组成元素,前缀往往是不需要的,而当类型的应用显而易见的时候,比如当代码中只包含一个相关类型时,修饰符也可以省略。表1.2列举了Windows编程中绝大部分匈牙利命名法的前缀,本书的实例基本都是按照这个规范命名的。表1.2 Windows编程中匈牙利命名法的前缀(续表)

1.2.2 Windows应用程序框架结构

Windows 应用程序都具有相对固定的基本框架结构,由 WinMain 函数和窗口函数等构成。WinMain函数和窗口函数是Windows应用程序的主体。1.入口函数如同 C 语言的 main 函数一样,任何 Windows 应用程序都是由入口函数 WinMain 开始的。WinMain函数是在WINBASE.H中定义的,它的函数原形如下:函数说明如下。● hInstance:应用程序的实例句柄,这个实例句柄是程序的唯一标识。● hPrevInstance:该参数用来检查是否有多个程序实例运行,由于 Windows 9X和WindowsNT(包括更高版本)是32位操作系统,该参数通常设置为NULL。● lpCmdLine:一个指向字符串的指针,用来保存运行程序时的命令行参数。● nShowCmd:指定程序开始的时候如何显示。2.定义并注册窗口类在Windows中如果要创建一个窗口,首先要定义窗口类,然后注册这个窗口类。定义窗口类是通过填充WNDCLASS结构体来完成的,此结构体是在WINUSER.H中定义的,它的结构体声明如下:结构体说明如下。● style:指定窗口风格,可以为如表1.3所示的各种数值组合。表1.3 Windows应用程序窗口风格● lpfnWndProc:指向窗口过程的指针,必须使用CallWindowProc函数调用窗口过程。● cbClsExtra:窗口类结构体之后分配的额外的字节数,系统将该值初始化为0。● cbWndExtra:窗口实例之后分配的额外的字节数,系统将该值初始化为0,如果使用资源文件里的CLASS指令创建对话框,并用WNDCLASS注册该对话框时,cbWndExtra必须设置成DLGWNDOWEXTRA。● hInstance:包含该窗口类实例的句柄。● hIcon:标识窗口类图标的句柄,必须为一个图标资源的句柄,如果设置为NULL,系统将提供默认图标。● hCursor:标识窗口类光标的句柄,必须为一个指针资源的句柄,如果设置为NULL,应用程序必须在指针移入应用程序窗口时显式设置指针类型。● hbrBackground:窗口背景画刷的句柄,该成员或者是用于绘制背景的物理画刷的句柄,或者是一个颜色值。● lpszMenuName:指向NULL结束的字符串,该字符串描述菜单的资源名,如同在资源文件里显示的名字一样,如果使用一个整数标识菜单,可以使用MAKEINTRESOURCE宏,如果将lpszMenuName设置为NULL,那么窗口类的窗口将没有默认菜单。● lpszClassName:指向一个以NULL结尾的字符串,该字符串定义了窗口类的名字。定义好窗口类后,就可以通过函数RegisterClass注册该窗口,它的函数原型如下:函数说明如下。● 返回值:成功返回值是唯一标识已注册的类的一个原子,否则返回0。● lpWndClass:指向一个WNDCLASS结构体的指针。3.创建并显示窗口完成定义和注册窗口类后,接下来应该创建并显示该窗口。创建一个窗口要使用CreateWindow函数来完成,它的函数原型如下:函数说明如下。● 返回值:成功返回新窗口的句柄,否则返回NULL。● lpClassName:指向NULL结束的字符串或整型数atom。● lpWindowName:指向一个指定窗口名的以NULL结束的字符串指针。● dwStyle:指定创建窗口的风格,可以为如表1.4所示的各种数值组合。表1.4 Windows应用程序创建窗口的风格(续表)● x,y:指定窗口的初始水平位置和初始垂直位置。● nWidth:指定窗口的宽度和高度。● hWndParent:指向被创建窗口的父窗口或所有者窗口的句柄。● hMenu:菜单句柄,或依据窗口风格的一个子窗口标识。● hlnstance:包含该窗口类实例的句柄。● lpParam:指向一个值的指针,该值传递给窗口WM_CREATE消息。创建窗口后,Windows 并没有将其显示到显示器上,只是在内存中保存了这个窗口的全部信息,要显示这个窗口,需要使用函数ShowWindow,它的函数原型如下:函数说明如下。● 返回值:如果窗口以前可见,则返回一个非零值;如果窗口以前被隐藏,则返回值0。● hWnd:指定窗口句柄。● nCmdShow:指定窗口如何显示,通常设置该参数为SW_SHOW(在窗口原来的位置以原来的尺寸激活并显示窗口)或SW_HIDE(隐藏窗口并激活其他窗口)。4.窗口消息循环Windows 会为每一个当前运行的程序建立一个消息队列,用来完成用户与程序的交互。为了让程序能够处理这个消息队列,程序员必须使用一个消息循环从消息队列中取出消息,代码如下:消息循环从 GetMessage 函数开始,首先从消息队列中取出一个消息,然后通过TranslateMessage(&msg)函数将 msg 结构体传递给 Windows 进行转换,最后使用DispatchMessage(&msg)函数将msg结构体回传给Windows,再由Windows将此消息发送到相应的窗口过程中进行处理。5.窗口过程函数要处理Windows发来的消息,必须定义一个窗口过程函数。在填充WNDCLASS结构体的时候定义的窗口的消息处理函数就是用来处理窗口消息的窗口过程函数,它是一个回调函数。其定义形式如下:函数说明如下。● hwnd:是接收消息的窗口句柄,它由CreateWindow函数创建。● message:标识消息类型。● wParam,lParam:32位的消息参数,用来提供消息的更多信息。6.窗口处理消息在定义完窗口过程函数后,就可以在窗口过程函数中来处理由Windows发来的窗口消息。根据判断收到的是什么消息,再对该消息做相应的处理,实例代码如下:7.创建应用程序结构Windows应用程序框架结构的创建请参考以下实例代码:8.运行结果Windows应用程序框架结构运行结果如图1.1所示。图1.1 Windows应用程序框架结构运行结果

1.3 Visual C++编程库概要

Visual C++编程库指的是Visual C++提供的编程库,主要包括4方面的内容,分别为C++标准库、C运行时(CRT)库、活动模板库(ATL)和微软基础库(MFC)。本节将讲述Visual C++提供的编程库概要。

1.3.1 C++标准库

C++标准库中提供了 C++程序的基本设施,它所包含的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。C++标准库的内容可以分为10类,分别为语言支持、输入/输出、诊断、一般工具、字符串、容器、迭代器支持、算法、数值操作和本地化。(1)标准库中与语言支持功能相关的头文件以及头文件描述如下。● 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义,宏offsetof接受结构体或者联合体类型参数,只要它们没有成员指针类型的非静态成员即可。● 提供与基本数据类型相关的定义。● 提供与基本整数数据类型相关的C样式定义。● 提供与基本浮点型数据类型相关的C样式定义。● 提供支持程序启动和终止的宏和函数。● 支持动态内存分配。● 支持变量在运行期间的类型标识。● 支持异常处理。● 支持接受数量可变的参数的函数,即在调用函数时,可以给函数传送数量不等的数据项,它定义了宏va_arg、va_end、va_start以及va_list类型。● 为C样式的非本地跳跃提供函数。● 为中断处理提供C样式支持。(2)标准库中支持流输入/输出的头文件以及头文件描述如下。● 支持标准流cin、cout、cerr和clog的输入和输出,它还支持多字节字符标准流wcin、wcout、wcerr和wclog。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载