标准I/O - 文件的打开、关闭及代码实现

文件打开关闭原理

        文件打开就是占用资源

        文件关闭就是释放资源

文件打开函数

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

        Path:普通文件当前路径不需要加目录,其他需要使用完整的路径

        mode:

        返回值:出错返回NULL,所以使用fopen函数必须判断是否为空

        文件打开模式:

  1.  r/rb 只读模式,文件必须存在
  2. r+/r+b 读写模式,文件必须存在
  3. w/wb 只写模式,如果文件存在,文件长度清为0,如果不存在创建新文件
  4. w+/w+b 读写模式,其他同w
  5. a 只写模式,如果文件不存在,创建新文件,如果存在在末尾添加输入内容
  6. a+/a+b 读写模式, 其他同a;
    #include 
    #include //strerror的头文件
    #include //errno的头文件
    
    int main(int argc, char const *argv[])
    {
        int ret;
        FILE *p;//定义指针指向FILE结构体
        p = fopen("test.c","r")//使用fopen函数打开文件,test.c是指在当前路径下的test.c文件,r是只读且文件必须存在
        if(p == NULL)//如果打开文件不成功返回空值
        {
            perror("fopen");//打印错误信息
            printf("fopen:%s",strerror(errno));//strerror返回值是字符串
        } else {
            printf("open success\n");
            ret = fclose(p);//文件关闭函数返回值是整数
            if(ret == 0) {
                perror("fclose");//文件关闭成功,一般不会关闭失败;
            }
        }    
    }

 文件关闭函数

int fclose(FILE *stream);

fclose()函数调用成功返回0,失败返回EOF,并设置errno

流关闭时自动刷新缓冲区中的数据并释放缓冲区

当一个程序正常终止时,所有打开的流都会被关闭。

流一旦关闭后就不能执行任何操作。

文件关闭函数只能在文件打开函数成功调用后面使用,否则使用无效

你可能感兴趣的:(html,前端)