LINUX软件编程:文件IO

1.操作方式:

        1.打开文件        open

        2.读写文件        read/write

        3.关闭文件        close

2.man手册章节:

        1.标准命令

        2.系统调用

        3.库函数

        4.设备说明

        5.文件格式

        6.娱乐

        7.杂项

        8.管理员命令

3.函数接口使用:

man 2 open

        1.open

        int open(const char *pathname, int flags);

        int open(const char *pathname, int flag, mode_t mode);

        功能:

                pathname:要打开文件的路径

                flags:打开的方式

                        O_RDONLY        只读

                        O_WRONLY        只写

                        O_RDWR        读写

                        O_APPEND        追加

                        O_ASYNC        异步IO

                        O_CREAT        创建

                        O_EXCL        检测文件是否存在

                        O_NONBLOCK        非阻塞IO

                        O_TRUNC        截断(清0)

        返回值:

                成功返回文件描述符

                失败返回-1

        文件描述符范围:0 - 1023

        0:stdin        标准输入

        1:stdout        标准输出

        2:stderr        标准出错

        文件描述符产生规律:

                1.范围0 - 1023

                2.总是取尚未被占用的最小的非负整数

        2.close

        int close(in fd)

        功能:

                关闭文件描述符

        3.write

        ssize_t read(int fd, void *buf, size_t count)

        功能:

                向文件中写入数据

        参数:

                fd:文件描述符

                buf:写入数据的存放的空间的首地址

                count:实际写入的字节数

        返回值:

                成功返回实际写入的字节数

                失败返回-1

        4.read

        ssize_t read(int fd, void *buf, size_t count)

        功能:

                从文件中读取数据

        参数:

                fd:文件描述符

                buf:存放数据空间首地址

                count:想要读取的数据字节数

        返回值:

                成功返回实际读取到的字节数

                失败返回-1

                读到文件末尾返回0

文件IO和标准IO的区别:

        1.系统调用:

                Linux内核中的代码称为系统调用

        2.库函数:

                是针对操作系统内核中代码的封装

        3.区别:

                1.标准IO是库函数,在Linux和Windows平台均能使用

                2.文件IO是系统调用,只有在Linux内核平台中才能使用

                3.标准IO是一种有缓存的IO

                4.文件IO是没有缓存的IO

        4.标准IO应用场景:

                主要用来操作普通文件

        5.文件IO应用场景

                主要用来操作设备文件以及除普通文件外其余类型的文件

                           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值