C++程序设计:谭浩强版-输入函数详解

需积分: 7 3 下载量 70 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"输入函数-C++程序设计谭浩强完整版" C++编程中,输入函数是处理文件输入的重要部分,特别是在处理数据存储和文件交互时。在这个资源中,重点介绍了`infile.read()`函数,它是C++标准库中的一个成员,主要用于从输入文件流中读取数据到内存中。 `infile.read()`函数的使用方式如下: ```cpp infile.read( char *, int ) ``` 这里的参数分别代表: 1. `char *`: 指向数据存储位置的指针,也就是内存地址,数据将被读入这个地址所对应的内存区域。 2. `int`: 指定要读取的字节数。这告诉函数应该从文件中读取多少数据。 例如,如果有一个整型数组`int a[10];`,我们想要从文件中读取10个整型数到这个数组,可以这样使用: ```cpp infile.read((char *)a, 10*sizeof(int)); ``` 这里,`(char *)`是对数组地址的强制类型转换,因为`read()`函数需要一个`char`类型的指针。同时,`10*sizeof(int)`确保了读取正确数量的字节(每个整型通常占4个字节)。 对于单个整型变量`int i;`,我们可以这样做: ```cpp infile.read((char *)&i, sizeof(int)); ``` 这里,`&i`是取变量`i`的地址,`sizeof(int)`获取整型的大小,确保读取正确数量的字节到`i`。 文件的读取分为文本文件和二进制文件。文本文件通常包含ASCII码,可以直接读写;而二进制文件中的数据不是ASCII码,所以不能直接进行文本方式的读写。处理二进制文件时,必须使用像`read()`这样的函数来确保数据正确转换和解析。 C++的输入/输出流库(I/O Stream)提供了一套强大的工具,包括`ifstream`类,用于文件输入。`infile`是一个`ifstream`对象,它与特定的文件关联,允许通过流操作符(如`>>`)或`read()`函数来读取文件内容。 C++的发展历程是通过不断改进和吸取其他语言优点的过程,从B语言到C语言,再到C++,语言的功能和实用性不断增强。C++结合了C语言的高效性和结构化特性,以及面向对象编程的概念,使得它在系统编程、应用软件开发以及科学计算等多个领域都有广泛的应用。 C语言的特点包括: 1. 结构化编程,易于理解和维护。 2. 高级语言和汇编语言的特性,提供丰富的运算符和位运算支持。 3. 良好的可移植性,代码能在不同平台间轻松迁移。 4. 相对宽松的语法,允许高度的灵活性,但也增加了调试的难度。 C++作为C语言的扩展,保留了这些特点,并引入了类、模板、异常处理等面向对象特性,提升了代码的复用性和可维护性。然而,这也意味着C++的学习曲线相对较陡,特别是对于初学者来说,理解和调试C++程序可能更具挑战性。