嵌入式c语言学习记录

1、文件的定义

磁盘文件:指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。

设备文件:在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对文件的读和写。

1.1、行缓冲

        标准io库函数,往标准输出(屏幕)输出东西的时候是行缓冲的。就是指缓冲区碰到换行符的时候才刷新缓冲区。如果不刷新缓冲区,无法对文件进行读写操作。

1.2、全缓冲

        标准io库函数,往普通文件读写数据的时候是全缓冲的,碰到换行符也不刷新缓冲区,即缓冲区满了,才刷新缓冲区。

        刷新缓冲区的情况:1、缓冲区满了,2、人为刷新缓冲区fflush,3、程序正常结束

 1.3、无缓冲

        在读写文件的时候通过系统调用io(read write),对文件进行读写数据,这个时候是无缓冲的,即写数据会立马写入文件,读数据会立马进入内存。

2、磁盘文件的分类

一个文件通常是磁盘上一段命名的存储区。计算机的存储在物理上是二进制的,所以物理上所有的磁盘文件本质上都是一样的:以字节为单位进行顺序存储。

从用户或者操作系统使用的角度(逻辑上)把文件分为:

        文本文件:基于字符编码的文件。常见的有ASCII,UNICODE等

        二进制文件:基于值编码的文件

3、文件指针

        用于标识一个文件,所有对文件的操作都是对文件指针进行操作。

定义文件指针的一般形式为

        FILE * 指针变量标识符;FILE为大写,需要包含<stdio.h>;FILE是系统使用typedef定义出来的有关文件信息的一种结构体类型,结构中含有文件名、文件状态和文件当前位置等信息。

对文件操作的步骤

        1、对文件进行读写操作之前要打开文件得到文件指针。

        2、可以通过文件指针对文件进行读写等操作。

        3、读写等操作完毕后,要关闭文件,关闭文件后,就不能再通过此文件指针操作文件了。

C语言中有3个特殊的文件指针无需定义,在程序中可以直接使用。stdin:标准输入。stdout:标准输出。stderr:标准错误输出设备文件(默认当前终端)

4、打开文件

函数的定义:

        FILE *fopen(const char *path,const char *mode);

函数说明:

        fopen函数的功能是打开一个已经存在的文件,并返回这个文件的文件指针,或者创建一个文件,并打开该文件,然后返回这个文件的标识。

函数的参数:

        1、打开文件的路径;2、文件打开的方式;

5、关闭文件

函数头文件:#include <stdio.h>

函数的定义:int fclose(FILE *fp);

函数的说明:关闭fp所代表的文件。一个文件只能关闭一次,不能多次关闭。

返回值:成功0,失败非0。

6、一次读写一个字符

函数头文件:#include <stdio.h>

函数的定义:int fgetc(FILE *stream);

函数的说明:fgetc从stream所标识的文件中读取一个字节,将字节值返回。

返回值:以t的方式:读到文件结尾返回EOF

                以b的方式:读到文件结尾,使用feof判断结尾

函数头文件:#include <stdio.h>

函数的定义:int fputc(FILE *stream);

函数的说明:fputc将c的值写到stream所代表的文件中。

返回值:如果输出成功,则返回输出的字节值

                如果输出失败,则返回一个EOF

EOF是在stdio.h文件中定义的符号常量,值为-1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值