嵌入式Linux系统中的文件作用
1.“一点哲学”:一切皆文件
2.linux文件类型:-表示普通文件;
d表示目录文件;
l表示链接文件;
c表示字符设备;
b表示块设备;
p表示管道文件,如FIFO文件;
f表示堆栈文件,如LIFO。
无缓冲访问文件(系统调用)
常用头文件:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<erron.h>
...
1.creat函数
定义:int creat ( const char*pathname,mode_tmode );
形参内容:pathname指文件名,mode指用何种方式调用
O_CREAT:若要打开的文件不存在则自动创建文件
O_WRONLY:以只写方式打开文件
O_TRUNC:若文件存在并且以可写形式打开,会将文件清零,原来文件内容也会消失
返回值:成功时返回0;失败时返回-1
2.open函数
定义:int open( const char* pathname,int flags);
int open ( const char* pathname, int flags, mode_tmode);
形参内容:pathname指文件名,
flags可以使用的旗标
1.O_RDONLY:以只读方式打开文件
2.O_WRONLY:以只写方式打开文件
3.O_RDWR:以可读写方式打开文件
4.O_CREAT:若要打开的文件不存在则自动创建文件
5.O_EXCL:若O_CREAT也被设置,则该指令会检查文件是否存在,不存在则建立 文件,否则文件打开错误,若两者同时设置,并且将打开的文件为符号链接则会打开失败
6.O_NOCTTY:如果要打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机
7.O_TRUNC:若文件存在并且以可写形式打开,会将文件清零,原来文件内容也会消失
返回值:成功时返回0;失败时返回-1
3.write函数
定义 write(int fd,const void*buf,size_t count);
形参说明:将buf内容写入count个字节到fd文件当中;文件读写位置也会改变
返回值:成功返回字节数,失败返回-1
4.read函数
定义:read(int fd,void*buf,size_t count)
形参说明:将fd文件中count个字节内容传送到buf指针中
返回值:成功返回所读字节数;失败返回0
5.lseek函数
定义:lseek(int fildes,off_t offset,int whence)
函数说明:控制读写位置,用O_APPEND打开文件 读写位置在文件尾,
fildes为打开文件
offset是根据whence来移动读写位的位移数
whence{SEEK_SET:参数offset为新的读写位置
SEEK_CUR:目前的读写位置往后增加offset个位移量
SEEK_END:将读写位置指向文件尾再增加offset个位移量}
返回值:成功时返回读写位置,失败时返回-1
6.close函数
定义:int close(int fd)
函数说明:用来关闭open()打开的文件
返回值:若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno