C程序设计--文件1--文件的分类+文件的打开和关闭

1.文件分类

  • 概念
    1) ASCII文件,又称文本文件,每一个字节放一个字符的ASCII代码;
    2)二进制文件,又称映像文件,按二进制形式存储。用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。
  • 两者的优缺点:
    1.ASCII文件:
    优点:字节与字符一一对应,便于对字符进行逐个处理;
    缺点:一般占存储空间较多,而且要花转换时间(二进制形式与ASCII码间的转换)。
    二进制文件编码是变长的,所以它灵活,存储利用率要高些,译码难一些(不同的二进制文件格式,有不同的译码方式)。
    2.二进制文件:
    优点:可以节省外存空间和转换时间,把内存中的存储单元中的内容原封不动的输出到磁盘(或者其他外部介质)上。
    缺点:字节不一定代表一个字符,所以译码难一些(不同的二进制文件格式,有不同的译码方式)

文件的打开和关闭

  • 打开文件
  1. 您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:
    FILE *fopen( const char * filename, const char * mode );
    即:FILE *fopen( 文件名, 访问方式 );
  2. 返回值:返回一个指向文件名的指针,即文件信息区的起始地址,通常将fopen函数的返回值赋给一个指向文件的指针变量。如:
    FILE *fp; //定义一个指向文件的指针变量fp
    fp=fopen(“D:\\file\\test.txt”,“r”); //将fopen函数的返回值赋给指针变量fp

    如果打开失败,fopen函数会带回一个空指针NULL。出错的原因可能:
    ①用 “r” 或 “a” 方式打开一个并不存在的文件;
    ②磁盘故障
    ③磁盘已满,无法建立新文件
    等等
    所以常用如下方法打开文件:
    if((fp=fopen(“file”,“r”))==null){
    printf(“cannot open this file\n”);
    exit(0);//需要头文件 #include<stdlib.h>
    }
  3. 在这里,filename 是字符串,用来命名文件,ASCII文件访问模式 mode 的值可以是下列值中的一个:
    在这里插入图片描述
    如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:
    “rb”(只读), “wb”(只写), “ab”(追加),
    “rb+”(读写), “r+b”(读写), “wb+”(读写), “w+b”(读写), “ab+”(读写), “a+b”(读写)
  • 关闭文件
  1. 为了关闭文件,请使用 fclose( ) 函数。函数的原型如下:
    int fclose( FILE *fp );
    即:int fclose( 文件指针);
  2. 返回值:
    如果成功执行关闭操作,则返回 0;
    否则返回 EOF(-1);
推荐参考:
  1. https://www.cnblogs.com/saolv/p/7793379.html (强烈推荐)
  2. http://www.runoob.com/cprogramming/c-file-io.html
  3. https://www.cnblogs.com/pengwangguoyh/articles/3223072.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值