C++程序设计入门:输入函数详解

需积分: 12 16 下载量 37 浏览量 更新于2024-08-23 收藏 8.82MB PPT 举报
"输入函数-谭浩强经典C++课件(500页)" 这篇课件主要介绍了C++中的输入函数,特别是关于`infile.read()`函数的使用方法。这个函数用于从输入文件中读取数据到内存中,它是C++标准库中`ifstream`类的一个成员函数,通常用于处理二进制文件。 1. `infile.read()`函数的语法: `infile.read( char *, int )` 这里的参数含义如下: - `infile`:输入文件对象,通常是一个`ifstream`类型的实例,用于与文件进行交互。 - `char *`:指向接收数据的内存地址,即你希望将文件中的数据存储的位置。 - `int`:指定要读取的字节数。 2. 使用示例: - `infile.read((char *)a, 10*sizeof(int));` 这行代码会从文件中读取10个整型数到数组`a`中。这里将数组的首地址转换为`char*`类型,因为`read()`函数需要一个字符指针作为目标地址。同时,乘以`sizeof(int)`确保正确读取10个整数所需的字节数。 - `infile.read((char *)&i, sizeof(int));` 这行代码会从文件中读取一个整型数到变量`i`中。同样,`&i`获取变量`i`的地址,转换为`char*`类型,然后读取`sizeof(int)`字节的数据。 3. 关于二进制文件的处理: 二进制文件中的数据是以原始字节形式存储的,不同于文本文件的ASCII编码。因此,直接使用文本方式读写二进制文件可能会导致数据损坏。使用`infile.read()`这样的二进制读取函数可以确保数据的完整性和正确性。 4. C++语言特点回顾: - 结构化编程:C++支持结构化编程,使代码组织清晰,易于维护。 - 高级与低级特性结合:C++结合了高级语言的抽象和低级语言的控制能力,如丰富的运算符和位运算。 - 可移植性:C++程序在不同平台上的可移植性较好,只需少量或无需修改即可运行。 - 程序设计自由度:C++允许程序员有较大的设计自由度,但也增加了学习和调试的难度。 5. C语言与C++的关系: C++是在C语言基础上扩展的,增加了面向对象编程、模板、异常处理等特性,同时保留了C语言的大部分语法和特性。 6. C++程序设计挑战: 对于初学者,C++的语法结构相对宽松,可能导致调试困难。理解并熟练使用C++需要深入学习其语法规则和编程理念,以及熟悉调试工具的使用。 通过这份谭浩强的经典C++课件,学习者可以深入了解C++的输入函数及其在实际编程中的应用,同时复习C++语言的基础知识和特点。