20201206韩进学习笔记2

I/O库函数

I/O库函数与系统调用

  • 系统调用函数
    open()、read()、write()、lseek()、close()。

  • I/O库函数
    fopen()、fread()、fwrite()、fseek()、fclose()。

I/O库函数算法

  • fread算法
    n=read(fd,fbuffer,BLKSIZE);
    将文件中读入的数据放到指定的地址中

  • fwrite算法
    与fread()算法相近,数据传输方向不同。将数据写入缓冲区,缓冲区满后将整个缓冲区写入。(二进制方式)

  • fclose算法
    关闭文件流的局部缓冲区。

I/O库模式

r:读; r+:读/写,不截断文件;
w:写; w+:读/写。截断文件,如没有则创建文件;
a:追加; a+:通过追加进行读/写;如没有则创建文件。

  • 字符模式I/O
    int fgetc(FILE *fp);
    返回整数,文件结束符-1。
    int ungetc(int c, FILE *fp);
    将字符退回到stream代表的文件流中。
    int fputc(int c, FILE *fp);
    将字符c写到文件指针fp所指向的文件的当前写指针的位置。

  • 行模式I/O
    char *fgets(char *buf, int size, FILE *fp);
    从fp中读取最多的为一行(以\n结尾)的字符。
    int fputs(char *buf,FILE *fp);
    将buf中的一行写入fp中。

  • 格式化I/O
    常用的I/O函数:
    scanf(char *FMT,&items);
    fscanf(fp, char *FMT,&items);
    printf(char *FMT,items);
    fprintf(fp,char *FMT,items);

文件流缓冲

  • 无缓冲:从非缓冲流中写入或读取的字符将尽快单独传输到文件或从文件中传输。

  • 行缓冲:遇到换行符时,写入行缓冲流的字符以块的形式传输。

  • 全缓冲:写入全缓冲流或从中读取的字符以块大小传输到文件或从文件传输。这是文件流的正常缓冲方案。


posted @ 2022-09-11 18:29  20201206韩进  阅读(25)  评论(0)    收藏  举报