• [知识复习] C语言文件读写


    文件打开

    fopen()

    返回FILE* 对象,如果打开失败返回NULL,错误代码存入errno中

    FILE *fopen( const char * filename, const char * mode ); //FILE文件型,int整型

    申明FILE* stream_1,stream_2 //两个文件流

    stream_1 = fopen("C:\Users\greenhat\Desktop\文档\test1.txt", "r+");//一般方式fopen(目录,操作)
    errno_t err = fopen_s (&stream_2,"C:\Users\greenhat\Desktop\文档\test2.txt", "r+");//安全方式fopen_s(文件对象,目录,操作)

    //注明:

    ”r+”打开读写文件。”r”打开只读文件。//文件必须存在

    w+”打开读写文件。”w”打开只写文件。//文件不存在自动建立。文件存在 自动覆盖    [常用]

    a+”打开读写文件(以附加的方式)。//文件不存在自动建立。文件存在 数据加到文件尾部  [常用]

    “a”打开只写文件(以附加的方式)。//文件不存在自动建立。文件存在 数据加到文件尾部

    文件关闭

    fclose()

    返回0(关闭成功)或返回EOF(发生错误)//EOF为-1

    int fclose( FILE *fp );

    文件写入

    fputc()

    把参数c的字符值写入到fp所指向的输出流中

    返回写入的字符(写入成功)或返回EOF(发生错误)

    int fputc( int c, FILE *fp );
    
    
    fputs()
    字符串s写入到fp所指向的输出流中
    返回一个非负值(写入成功)或返回EOF(发生错误)
    int fputs( const char *s, FILE *fp );
     
    fprintf()
    把一个字符串写入到指向的输出流,根据指定format(格式)
    返回写入的字符数(写入成功)或返回负值(发生错误)
    int fprintf( FILE *stream, const char *format, ... );
     
    文件读取
    fgetc()
    从fp所指向的输入文件中读取一个字符
    返回读取字符(读取成功)或返回EOF(发生错误)
    int fgetc( FILE * fp );
     
    fgets()
    从fp所指向的输入流中读取n-1个字符,并把读取的字符串复制到缓冲区,在最后追加一个NULL字符来终止字符串,如果函数在读取完n-1个字符之前就遇到换行符
    或者文件结尾EOF,则只返回读取到的字符包括换行符
    char *fgets( char *buf, int n, FILE *fp );
    
    
    fscanf()
    从一个流中执行格式化输入,根据format(格式)
    返回读入参数个数(成功)或返回EOF(失败)
    //注:遇到空格,换行时结束,fgets()遇到空格不结束。
    //为安全,用fscanf_s()
    int fscanf(FILE* stream , const char* format , [argument...]);
  • 相关阅读:
    关于mybatisplus 中saveOrUpdateBatch的方法重写,不根据主键更新,mysql中主键使用自动填充UUID
    多线程写数据由于String造成的堆内存泄露(java.lang.OutOfMemoryError)
    修改登录超时时间
    神器如 dnSpy,无需源码也能修改 .NET 程序
    关联交易自动生成提示销售员一必录
    如何删除无效的服务
    磁盘上的数据库文件mdf已经被删除,如何删除SQLSERVER上的数据库列表中的数据库名称
    转换规则修改启动条件同步到正式环境不生效的问题
    mssql因为算法不同,客户端和服务器无法通信
    Jexus mono发布webform
  • 原文地址:https://www.cnblogs.com/cc1997/p/9547631.html
Copyright © 2020-2023  润新知