0219 嵌入式第十九天

标准IO和文件IO的区别:

  1. 标准IO是库函数,是对系统调用的封装
  2. 文件IO是系统调用,是Linux内核中的函数接口
  3. 标准IO是有缓存的
  4. 文件IO是没有缓存的

文件IO:

       打开 –> 读写 –> 关闭

打开文件:open

关闭文件:close

读写:read/write  (操作二进制文件)

Open

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

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

        功能:

            打开文件并且获得文件描述符

        参数:

            pathname:要打开的文件名

            flags:标志位

                O_RDONLY    只读

                O_WRONLY    只写

                O_RDWR      读写

               

                O_APPEND    追加

                O_ASYNC     异步IO

                O_CREAT     文件不存在创建

                O_TRUNC     文件存在截断(清0)

        返回值:

            成功返回文件描述符(很小的非负整数)

            失败返回-1

新生成的文件描述符总是为尚未被使用的最小的非负整数

0:stdin

1:stdout

2:stderr

read/write

        1.write

          ssize_t write(int fd, const void *buf, size_t count);

          功能:

            向fd对应的文件中写入buf指向的count个字节

          参数:

            fd:文件描述符

            buf:写入数据空间首地址

            count:写入的字节数

          返回值:

            成功返回实际写入字节数

            失败返回-1

        2.read

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

          功能:

            从文件描述符fd对应的文件中读取count个字节存放到buf开始的空间中

          参数:

            fd:文件描述符

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

            count:想要读取数据字节数

          返回值:  

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

            失败返回-1

            读到文件末尾返回0

自己写个头文件 方便写程序

0219 嵌入式第十九天_第1张图片

实现文件的拷贝

0219 嵌入式第十九天_第2张图片

0219 嵌入式第十九天_第3张图片

文件IO

lseek:

功能:重新设定文件描述符的偏移量

       off_t lseek(int fd, off_t offset, int whence);

参数:     fd:文件描述符

               Offset:偏移量

               Whence:

                      SEEK_SET       文件开头

                      SEEK_CUR      文件当前末尾

                      SEEK_END     文件末尾

返回值:成功返回当前偏移量

               失败返回 -1

0219 嵌入式第十九天_第4张图片

目录IO:

1. mkdir:

int mkdir(const char *pathname, mode_t mode);

功能:创建目录文件

参数:pathname:文件路径

           Mode:文件的权限

返回值:成功返回0

                失败返回-1

Rwx  rwx  rwx

 111  111 111

0     7      7     7

R:目录中是否能够查看文件

W:目录中是否能新建文件

X:目录是否能够进入

2.rmdir:

功能:删除空目录文件

返回值:成功返回0

                失败返回-1

3.opendir

功能:打开目录获得目录流指针

参数:name:目录文件的路径

返回值:成功返回目录流指针

                失败返回NULL;

4. closedir

功能:关闭目录流指针

0219 嵌入式第十九天_第5张图片

你可能感兴趣的:(开发语言)