学习嵌入式Linux c/c++ 編程(2)文件I/O编程

2021/7/19 7:06:55

本文主要是介绍学习嵌入式Linux c/c++ 編程(2)文件I/O编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

嵌入式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



这篇关于学习嵌入式Linux c/c++ 編程(2)文件I/O编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程