嵌入式操作系统开发(第十二节)

嵌入式操作系统开发

学习内容:

1.lseek (用来调整光标的位置)

lseek (文件描述符,光标移动的位置数,光标移动的形式)
SEEK_SET:将光标移动到文件开头在增加相应的 offset 位置
SEEK_CUR:将光标移动到文件当前的位置再往后加 offset 的位置
SEEK_END:将光标移动到文件末尾的位置再往后加 offset 的位置

  #include <unistd.h>
  #include <sys/types.h>
  off_t lseek(int filedes, off_t offset, int whence);

参数:
  ① filders:已打开的文件描述符。
  ② offset:根据参数whence来移动读写位置的位移数。
  ③ whence:取值有以下三种
    SEEK_SET  参数offset 即为新的读写位置。
    SEEK_CUR  以目前的读写位置往后增加offset 个位移量。
    SEEK_END  将读写位置指向文件尾后再增加offset 个位移。
 注意:当whence 值为SEEK_CUR 或SEEK_END 时,,参数offet 允许负值的出现。

在这里插入图片描述

在这里插入图片描述

2.stdio.h: C的标准输入输出库:I/O(input output)

file* 结构体
在这里插入图片描述

stdout:输出流
行缓冲:stdout在终端上进行输出的时候,输出的规则为每当出现换行符的时候进行一次刷新缓存,然后再进行操作(printf输出的时候,看到)

3.fopen():

   #include <stdio.h>
   FILE *fopen(const char *pathname, const char *mode);

参数:
r : 只读
w:只写,如果文件不存在,创建一个新的;如果文件存在,清空原先文件的文件内容
a:追加:不存在,创建一个新的;如果存在在文件末尾进行追加
r+:可读可写,文件不存在,打开失败
w+:(w)+(r+)
a+:(a)+(r+)
在这里插入图片描述

4.fread:

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

pyr:字符串指针
size:读取每个字符的大小
nmemb:读多少
stream:文件描述符指针

5.fseek

如lseek
在这里插入图片描述

6.读字符的家族:

getc:从文件里读取一个字符getc(fp)返回值:当读到文件末尾无字符的时候,返回EOF(NULL)

fgetc:函数调用 效果和getc一样

getchar():

fputc:将某一字符写入文件流
int fputc(int c,FILE*stream)

putc:宏

putchar()

将字符从unsigned char 转换成int进行返回
带走缓冲区里多余的换行符

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Zj990124/article/details/115159617