zoukankan      html  css  js  c++  java
  • 第8课-库函数方式文件编程

    1.基于C函数库的程序是独立于操作系统的,可移植性更好。基于系统调用的编程依赖于内核,移植性不好。
    2.流:在程序和源文件之间会建立一个数据通道访问文件里的数据,于是通道里的数据就成了抽象动态的流。
    文件指针:对应于系统调用的文件描述符(整数)。是FILE类型的指针,通常是定义一个FILE* fp的变量描述一个指向文件的指针,FILE类型里包含了管理流信息的数据信息。
    3.函数学习:

    3.1 打开文件

    Fopen(文件指针默认指向文件头)
    3.1.2 函数原形
    FILE *(const char *path, const char *mode);


    3.1.3 函数功能fopen
    从指定的路径按照指定的模式打开一个文件


    3.1.4 所属头文件
    <stdio.h>


    3.1.5 返回值
    成功:返回文件指针
    失败:NULL


    3.1.6 参数说明
    Path文件名(含路径)
    Mode打开文件的方式(两个参数都是字符串)
    (1)r,rb-----------只读
    (2)w,wb----------只写
    (3)a,ab----------追加,若不存在则创建
    (4)r+,r+b,rb+----读写
    (5)w+,w+b,wb+---读写,若不存在则创建,存在则清空内容
    (6)a+,a+b,ab+----读和追加,若不存在则创建
    3.2 关闭文件
    3.2.1 函数名
    Fclose
    3.2.2 函数原形
    int fclose(FILE *fp);
    3.2.3 函数功能
    关闭文件
    3.2.4 所属头文件
    <stdio.h>


    3.2.5 返回值
    成功:返回0
    失败:EOF


    3.2.6 参数说明
    Fp:待关闭文件的文件指针


    3.3 读文件
    3.3.1 函数名
    Fread
    3.3.2 函数原形
    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);


    3.3.3 函数功能
    从文件中读取数据
    3.3.4 所属头文件
    <stdio.h>
    3.3.5 返回值
    成功:返回读取到的数据量(字节数)
    失败:0
    3.3.6 参数说明
    Ptr:指向要保存数据的位置
    Size:决定每一块的字节数
    Nmemb:决定要读取的数据块数
    Stream:指向要读取的文件


    3.4 写文件3.4.1 函数名
    Fwrite3.4.2 函数原形
    size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);3.4.3 函数功能
    向一个文件中写入事先存放在指定位置的数据3.4.4 所属头文件
    <stdio.h>3.4.5 返回值
    成功:返回成功写入的字节数失败:0

    3.4.6 参数说明
    Ptr:指向要写入数据的位置Size:决定每一块的字节数
    Nmemb:决定要写入的数据块数Stream:指向要写入的文件



    3.5 定位文件3.5.1 函数名Fseek
    3.5.2 函数原形int fseek(FILE *stream, long offset, int whence);
    3.5.3 函数功能设置文件的位置指针(隐形指针)
    3.5.4 所属头文件<stdio.h>
    3.5.5 返回值成功:返回0失败:-1
    3.5.6 参数说明Stream:指向要移动位置指针的文件Offset:移动的距离(字节数)Whence:决定指针以什么位置为基准开始移动SEEK_SET:以文件头为基准,此时的offset只能是整数SEEK_CUR: 以当前位置为基准,此时的offset可正可负,正数往后移动,负数往前移动。SEEK_END:以文件尾为基准移动,此时的offset之能是负数。
    3.6 int fgetc(FILE* fp)从指定文件读取一个字符,当读取到结束符的时候返回EOF
    3.7 int fputc(int count,FILE* fp)向指定文件写入一个字符 (将c转化为unsigned char类型写入)
    3.8 fscanf(FILE* fp,char* format[,argument])从一个流中进行格式化输入(格式化读)
    3.9fprintf(FILE* fp,char* format[,argument]格式化输出到一个流(格式化写)
    3.10 char* getcwd(char* buf,size_t size)获取当前路径,将其存放在buf,如果buf太小,返回-1
    3.11 int mkdir(char* buf,int mode)
    创建路径,成功返回0,失败返回-1

  • 相关阅读:
    python的三个函数map、filter、reduce详解
    python 对文件进行切分行
    sed 命令匹配行操作
    停止学习框架
    JS中双等号“==”使用情况
    JavaScript中数组迭代方法
    JavaScript中replace()方法的第二个参数解析
    Vue生命周期
    JS中浮点数精度误差解决
    大量DOM操作的解决方案
  • 原文地址:https://www.cnblogs.com/YanfeiHao/p/4433000.html
Copyright © 2011-2022 走看看