当前课程知识点:C语言程序设计 >  第22讲 编程训练 >  编程训练 >  文件(下)

返回《C语言程序设计》慕课在线视频课程列表

文件(下)在线视频

返回《C语言程序设计》慕课在线视频列表

文件(下)课程教案、知识点、字幕

这个例子要求将一个磁盘文件中的信息

复制到另一个磁盘文件中

解题思路是从源文件中逐个读入字符

然后逐个输出到目标文件中

好我们看因为这个例子要求从一个文件当中

读入信息写入到另一个文件当中

就是需要有两个文件

所以这定义了两个文件指针

在这个地方输入两个文件的文件名

这儿打开要读的那个文件

就是以读的方式打开

如果打开失败提示无法打开此文件

同样的要写的那个文件

就是out那个文件以写方式打开

如果打开失败就是返回值是NULL的话

提示无法打开此文件

然后也退出

然后while这用feof这个函数判断到了没到文件尾部

如果没到文件尾部就用fgetc

这个函数从in文件中读出一个字符赋值给ch

然后再用fputc把这个字符写入到out文件当中

整个这个循环一直到In文件到文件尾位置

然后这儿我们关闭两个文件

因为这个程序要想正确运行

它需要有一个这个要读入的文件

那我们这儿就需要事先创建这么一个文件

要不然在这个地方就会打开失败

所以我们在这个地方先创建一个文件

我们给这个文件输入一些

字符

然后把它保存了

然后我们再运行这个程序

这个输入读入文件名字就是我们刚建立的这个文件

我们看一下这个运行结果

那我们看打开这个file2.txt以后

它里面的内容就是file1里面的内容

这样就验证了这个程序能够把file1.txt中的内容

给复制到file2.txt当中

文件的读写还可以是按格式方式读写

格式化的读写函数分别是fscanf和fprintf

这两个函数使用的时候它

和我们前面讲过的从键盘读入scanf

以及输出到屏幕上printf这两个函数使用起来非常相似

唯一的差别就是fscanf是从文件当中读出数据

fprintf它不是输出到屏幕上是输出到一个文件当中

除此以外的方式

和scanf与printf很相似

我们看一个简单的例子

比方在这个地方

这儿是前面定义好的一个文件指针

然后就是按照这种格式从这个文件中读出数据

放到i和t这两个变量当中

这是fprintf

我们看这个例子

这儿就可以把前面读出来的两个变量的值

以这样的格式写入到这个文件当中

文件读写还可以按数据块方式进行

按数据块方式读写有fread

这是读

以及fwirte

它里面有几个参数

其中的fp是要读取的文件指针

buffer是待读入数据块的起始地址

size是每个数据块的大小

count是最多允许读取的数据块的个数

fwrite这里面的参数和上面fread非常相似

我们看一个按数据块读写文件的例子

这个例子是要求从键盘输入十个学生的有关的数据

然后把他们转存到磁盘文件上去

解题思路是定义有10个元素的结构体数组

用来存放10个学生的数据

从main函数输入10个学生的数据

用save函数实现向磁盘输出学生数据

用fwrite函数一次输出一个学生的数据

我们看一下这个程序

这个程序首先在前面定义了这样一个结构体的数组

然后我们在main函数当中

先是通过这个循环从键盘上读入结构体数组的信息

读入以后调save这个函数

这个函数里面我们看它先是打开这个文件

要往里写的这个文件

如果打开失败有提示

然后呢 这个地方也是一个循环

把刚才在main函数当中读入的结构体数组的信息

用fwrite这个函数给它写到fp这个文件当中

如果写失败

这个地方也有提示

写完了以后把它关闭掉

C语言程序设计课程列表:

第0讲 导言

-简单介绍课程性质等

-关于编程训练

第1讲 C程序框架

-C程序框架

-作业

第2讲 C程序编译环境

-C语言的编译环境

-作业

第3讲 顺序程序的几个例子

-顺序程序的几个例子

-作业

第4讲 常见的编译错误

-常见的编译错误

-作业

-编译错误探讨

第5讲 输入输出精要

-输入输出精要

-作业

-输入输出格式探讨

第6讲 选择结构的典型例子

-选择结构的典型例子

-作业

第7讲 选择结构常见错误

-选择结构常见错误

-作业

第8讲 排除程序错误的常规方法

-排除程序错误的常规方法

-排除错误探讨

第9讲 循环结构基础

-循环结构基础

-作业

-循环类型

第10讲 循环结构程序例子

-循环结构程序例子

-作业

-程序结构

第11讲 函数基础

-函数基础

-作业

第12讲 函数举例

-函数举例(上)

-函数举例(下)

第13讲 变量的作用域与生存期

-变量的作用域与生存期

-变量的使用

第14讲 数组基础

-数组基础

-作业

第15讲 数组应用举例

-数组应用举例(上)

-数组应用举例(下)

第16讲 数组参数传递

-数组参数传递(上)

-数组参数传递(下)

-作业

第17讲 指针变量

-指针变量(上)

-指针变量(下)

-作业

第18讲 字符串

-字符串(上)

-字符串(下)

-作业

第19讲 程序调试

-程序调试

-程序调试的重要性

-程序调试讨论

第20讲 结构体及其应用

-结构体及其应用(上)

-结构体及其应用(下)

第21讲 文件

- 文件(上)

-文件(下)

第22讲 编程训练

- 编程训练

文件(下)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。