当前位置:网站首页>标准C语言16

标准C语言16

2022-08-06 08:01:45洛cs

三十九、文件

    文件分类

        文本文件:存储的是ASCII码的二进制

        二进制文件:存储的是数据的补码

    文件IO

        #include <stdio.h>

        FILE *fopen(const char *path, const char *mode);

        功能:打开或创建文件

        path:文件路径

        mode:文件打开模式;

            r       以只读权限打开文件,不存在就失败

            r+      在r的基础上增加写的权限

            w       已只写权限打开文件,如果存在则清空打开,不存在则新建文件

            w+      在w的基础上增加写的权限

            a       已只写权限打开文件,存在则在末尾追加,不存在则新建

            a+      在a的基础上增加写的权限

        返回值:文件指针,不需要关心里面是什么数据,是一个针对已打开的凭借。打开失败返回NULL

    二进制方式的读写

        #include <stdio.h>

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

        功能:把内存中的数据写入到文件中

        ptr:要写入内存的首地址

        size:一次写入的字节数

        nmemb:写入的次数

        stream:文件指针,fopen的返回值,即往哪个文件写入

        返回值:成功写入的次数

        #include <stdio.h>

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

        功能:从文件读取数据到内存中

        ptr:接收文件数据的首地址

        nmemb:读取多少次

        stream:文件指针,表示从哪个文件读取

        返回值:成功读取的次数

    文本方式读写

        #include <stdio.h>

        int fprintf(FILE *stream, const char *format, ...);

        功能:以文本形式写入数据到文件中

        stream:要写入的文件

        format:占位符和提示信息

        ...:变量名列表

        返回值:成功写入的字节数

        int fscanf(FILE *stream, const char *format, ...);

        功能:从文件中读取到变量中

        stream:要读取的文件

        format:占位符和提示信息

        ...:变量名列表

        返回值:成功读取的变量个数

    关闭文件

        int fclose(FILE *stream);

        功能:关闭一个打开的文件

        返回值:成功返回0,失败返回-1

        注意:如果需要立即修改文件的内容,最好先关闭

    文件位置指针:

        每个通过fopen打开的文件都有一个文件位置指针来记录接下来读写的位置,

        以r、r+、w、w+打开的文件,位置指针在文件的开头,以a、a+打开的文件,位置指针在末尾

        如果想要随意读写文件的位置,那么可以手动设置文件位置指针的位置

             int fseek(FILE *stream, long offset, int whence);

             功能:手动设置位置指针的位置

             stream:文件指针

             offset:偏移值

             whence:基础位置

                SEEK_SET    开头

                SEEK_CUR    当前位置

                SEEK_END    末尾

            返回值:成功返回0(调整之后位置指针还在文件中),失败返回-1

            long ftell(FILE *stream);

            功能:获取当前文件位置指针的位置

            返回值:在第几个字节

            void rewind(FILE *stream);

            功能:把文件指针位置设置到文件开头

            int fgetc(FILE *stream);

            功能:从文件中读取一个字符

            返回值:失败、读取完毕返回EOF(-1)

            char *fgets(char *s, int size, FILE *stream);

            功能:读取一行字符串到s中,最多读取size-1个

            返回值:首地址

            int fputc(int c, FILE *stream);

            功能:写入一个字符到文件中

            返回值:成功返回非负整数,失败返回-1

            int fputs(const char *s, FILE *stream);

            功能:写入一个字符串到文件中

            返回值:成功返回非负整数,失败返回-1

            int remove(const char *pathname);

            功能:删除文件

            pathname:文件路径

            返回值:成功返回0,失败返回-1

            int rename(const char *oldpath, const char *newpath);

            功能:重命名

            返回值:成功返回0,失败返回-1

四十、命令行参数:(main函数的参数)

    是为了获取./a.out 命令行参数

    argc    代表了命令行参数个数(./a.out是第一个)

    argv    每个参数字符串的首地址(./a.out是argv[0])

实现cp命令




 

原网站

版权声明
本文为[洛cs]所创,转载请带上原文链接,感谢
https://blog.csdn.net/zheng131511/article/details/126176415

随机推荐