C++实现文件流加密:md5, sha-1, hmac, des/aes, rsa, ecc

需积分: 15 19 下载量 167 浏览量 更新于2024-08-06 收藏 19.83MB PDF 举报
"C++ 谭浩强 pdf" 这篇资料是关于C++程序设计的,由谭浩强编著,作为中国高等院校计算机基础教育课程体系规划教材的一部分。书籍分为四个部分,涵盖从基本知识到面向对象的程序设计。以下是其中涉及到的关键知识点: 1. **C++的初步知识**: - C++是从C语言发展而来,保留了C的所有优点,并添加了面向对象的特性,使得它成为一种混合型的编程语言。 - C++与C兼容,C语言编写的程序几乎可以直接在C++环境中运行。 - 面向对象程序设计(OOP)主要是为了解决大型软件开发的效率问题,提高了代码的复用性和模块化。 2. **文件流对象的定义与操作**: - 在C++中,可以通过定义文件流对象并指定参数来打开磁盘文件,如`ostream outfile("f1.dat", ios::out)`,这与调用`open`函数效果相同。 - 文件流对象的打开方式是通过`ios`类中的枚举常量定义的,例如`ios::out`表示输出模式。 - 新版的I/O库不再支持`ios::nocreate`和`ios::noreplace`。 - 可以使用位或运算符`|`组合不同的输入输出方式。 - 打开文件失败时,`open`函数会返回假,若通过构造函数打开文件,流对象也会被标记为无效状态。 3. **文件操作**: - 完成文件读写操作后,应使用`close`成员函数关闭文件,这会解除文件与文件流之间的关联,禁止进一步的输入输出操作。 4. **C++的结构**: - 书籍包括了从基本数据类型和表达式到面向对象的特性如类、对象、继承和多态等。 - 第一部分介绍了C++的基础知识,包括程序的构成和书写形式,以及如何编写和实现C++程序。 - 第二部分涉及面向过程的程序设计,涵盖了函数、预处理、数组和指针。 - 第三部分讲解基于对象的程序设计,主要围绕类和对象的使用。 - 第四部分深入面向对象的程序设计,包括继承、派生、虚函数和输入输出流。 这些知识点构成了C++学习的基础,对于理解C++的语法结构和编程思想至关重要。通过学习,读者将能够掌握C++的各个方面,从基础的语法到高级的面向对象编程技术。