学习嵌入式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编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法