1)操作系统把各种设备统一作为文件来处理,键盘是输入文件,显示屏是输出文件。所谓输入输出都是以计算机内存为中心得,将数据写到文件里面去,是指将内存中的数据(程序中的内存四区)写入到文件里面去,同理,读就是将文件里的数据读到内存中去
-
struct student
-
{
-
int age;
-
int num;
-
-
}stud;
-
-
fwrite(&stud, sizeof(struct student), fp);//结构体在栈中分配内存用于存储数据,所以这里的写不就是将内存中的数据写到,文件中去的吗
-
-
fread(&stud, sizeof(struct student),1,fp);//这是从文件中读取数据让后存放到结构体中,也就是计算机内存中去
2)为什么叫数据流:输入输出时数据的传送,数据像流水一样从一样,从输入端流到输出端,因此常将输入输出形象的称为流,即数据流
3)标准输入流stdin,标准输出流stdout,标准出错输出流stderr的理解(他们的地位和fp是一样的,所以理解的时候就把他们和fp结合起来一起理解吧)
FILE* fp = fopen("abc.txt", "ab");//这样可以理解为文件指针fp就是代表了文件abc.txt;所以接下来对文件的操作我们都是通过操作文件指针fp来进行的
同理,stdin(看成文件指针,方便理解吧)指向键盘,所以对键盘的操作都是通过stdin进行,stdout代表标准输出即终端(命令行窗口),stderr也是代表终端
3)fclose的作用就是使文件指针与文件脱钩,也就是说让文件指针不再指向文件,那么文件指针就不能再操作文件了
阅读(574) | 评论(0) | 转发(0) |