C语言程序设计-1期 单元5 构造类型程序设计_文件.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
根据提供的信息,我们可以总结出以下知识点: ### 一、C语言中的文件操作概念 #### 1. 文件操作基本概念 - **文件**:文件是一系列相关信息的集合。 - **文件操作**:指的是对文件进行创建、打开、读取、写入、关闭等操作。 #### 2. 文件操作流程 - **打开文件**:使用`fopen`函数打开文件。 - **文件操作**:包括读取文件(`fread`)、写入文件(`fwrite`)、定位文件位置(`fseek`)等。 - **关闭文件**:使用`fclose`函数关闭文件。 #### 3. 文件的类型 - **文本文件**:由一系列字符组成,可以直接读取。 - **二进制文件**:以二进制形式存储,通常用于存储非文本数据。 #### 4. 文件的模式 - **读模式**: - `"r"`:打开一个文件用于只读,文件指针位于文件开始处。 - `"r+"`:打开一个文件用于读写,文件指针位于文件开始处。 - **写模式**: - `"w"`:打开一个文件用于只写,如果文件存在则会被覆盖,如果不存在则会创建新文件。 - `"w+"`:打开一个文件用于读写,如果文件存在则会被覆盖,如果不存在则会创建新文件。 - **追加模式**: - `"a"`:打开一个文件用于只写,如果文件存在则从文件尾部开始追加,如果不存在则会创建新文件。 - `"a+"`:打开一个文件用于读写,如果文件存在则从文件尾部开始追加,如果不存在则会创建新文件。 ### 二、C语言中的文件函数详解 #### 1. `fopen`函数 - **语法**:`FILE* fopen(const char *filename, const char *mode);` - **参数**: - `filename`:文件名。 - `mode`:文件打开模式。 - **返回值**:成功返回指向文件的`FILE`结构体指针;失败返回`NULL`。 #### 2. `fclose`函数 - **语法**:`int fclose(FILE *stream);` - **参数**:`stream`指向要关闭的文件的`FILE`结构体指针。 - **返回值**:成功返回0;失败返回EOF。 #### 3. `fread`函数 - **语法**:`size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);` - **参数**: - `ptr`:读取数据的目标地址。 - `size`:每次读取的数据大小。 - `nmemb`:读取次数。 - `stream`:文件流。 - **返回值**:实际读取的元素数量。 #### 4. `fwrite`函数 - **语法**:`size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);` - **参数**: - `ptr`:要写入的数据的源地址。 - `size`:每次写入的数据大小。 - `nmemb`:写入次数。 - `stream`:文件流。 - **返回值**:实际写入的元素数量。 #### 5. `fseek`函数 - **语法**:`int fseek(FILE *stream, long offset, int whence);` - **参数**: - `stream`:文件流。 - `offset`:相对于起始点的偏移量。 - `whence`:起始点。 - `SEEK_SET`:文件开始位置。 - `SEEK_CUR`:当前位置。 - `SEEK_END`:文件结束位置。 - **返回值**:成功返回0;失败返回非零值。 #### 6. `fscanf`函数 - **语法**:`int fscanf(FILE *stream, const char *format, ...);` - **参数**: - `stream`:文件流。 - `format`:格式控制字符串。 - `...`:要读取的变量地址列表。 - **返回值**:成功匹配并读取的项目数。 ### 三、示例题目解析 1. **系统的标准输入文件**:标准输入文件通常是**键盘**(选项A),即用户通过键盘输入数据。 2. **写文件的一般含义**:将计算机内的信息存入磁盘(选项A)。 3. **系统的标准输出文件**:标准输出文件通常是**显示器**(选项B),即输出结果会在屏幕上显示。 4. **C语言中文件操作的一般步骤**:打开文件 → 操作文件 → 关闭文件(选项B)。 5. **打开一个已存在的非空文件用于修改**:正确的语句是`fp=fopen("file", "r+");`(选项D)。 6. **可作为`fopen`第一个参数的正确格式**:字符串格式应为`"c:\\usr\\abc.txt"`(选项D)。 7. **若执行`fopen`函数时发生错误**:函数的返回值是0(选项B)。 8. **显示一个文本文件的内容**:文件的打开方式应为`"r"`或`"r+"`(选项A)。 9. **打开一个新的二进制文件用于读写**:文件打开方式字符串应为`"wb+"`(选项B)。 10. **C语言中文件的存取单位**:字节(选项C)。 11. **关于文件操作的正确结论**:对文件操作必须先打开文件(选项B)。 12. **以"a+"方式打开一个已存在的文件**:原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作(选项A)。 13. **顺序执行文件关闭操作时,`fclose`函数的返回值**:0(选项C)。 14. **`fread`函数的`buf`参数**:一个指针,指向要读入的数据的存放地址(选项C)。 15. **`fseek`函数的调用形式**:`fseek(文件指针, 位移量, 起始点)`(选项B)。 16. **不能实现从文件中读出30个学生数据到数组`a`中的语句**:`for (i=0;i<30;i++) fread(a[i], sizeof(struct std), 1L, fp);`(选项D)。 17. **`fscanf`函数的正确调用形式**:`fscanf(文件指针, 格式字符串, 输出表列)`(选项D)。 18. **`fwrite`函数的一般调用形式**:`fwrite(buffer, count, size, fp)`(选项A)。 以上知识点涵盖了C语言中关于文件操作的基本概念、常用函数及其应用,并结合示例题目进行了详细的解析。对于学习C语言的初学者来说,掌握这些知识点对于理解和运用文件操作功能至关重要。
- 粉丝: 47
- 资源: 7704
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助