【C解析之六】文件初探

C解析之六文件初探


         前言:我们用最美的记忆勾勒最美的画面,文件是程序的记忆。当程序在内存中消亡时,文件便是程序记忆的载体。也许你发现一个懊恼的问题,每次打开你写的程序,它便什么也忘了,忘了你曾经辛苦输入的数据,但这不是它的错,它记不住任何东西,甚至自己。那么,是时候让程序有点记忆了。

             1.文件:

         文件是程序设计的重要概念,一般指存储在外部介质上的数据集合。“外部介质”是相对于处理器CPU而言,除了CPU能直接访问的寄存器与内存外,其他存储设备一般都称为外部介质。“数据集合”则意味着文件以密集形态存储数据。文件有3个主要属性:

                    1.1文件路径:文件在外部存储设备中的位置

                    1.2文件名:文件的标识名

                    1.3文件扩展名:标识文件的格式

这3个属性是识别,引用文件的基础,通过文件路径可以定位文件的位置,文件名则准确地标识文件,文件扩展名则告诉我们以何种方式去处理这个文件。操作系统对C编程人员隐藏了很多的实现细节,提供了很多良好的函库数接口,通过这些函数接口可以十分方便地满足我们对文件的需求。

         在对文件进行操作之前,首先需要打开,操作完成之后则要关闭。打开文件时,为了能方便地管理与使用文件,操作系统为文件建立是建立一个文件结构变量(文件信息描述区),使文件与之对应,这需要消耗一定的系统资源区维护这个联系,这就是为什么使用文件结束后需要关闭。

            2.文件的打开与关闭:

                     2.1打开文件fopen():通过这个函数可以打开一个文件,用法:

                        文件指针名=fopen(文件名,打开文件方式)

 
//运行下面的程序将在E盘根目录下建立一个新文件file1.txt
#include
   
   
    
    
int main(){
   FILE * fileopint;                             //创建 一个文件指针
   fileopint = fopen("E://file1.txt","w");       //打开一个文件,并将该指针指向文件,不存在则新建
   return 0;
}

   
   

文件打开方式,"w"代表以只读的方式打开一个二进制文件,这类参数还有:

                              r : 打开一个文本文件,只允许读数据

                            rb : 打开一个二进制文件,只允许读数据

                             w : 打开一个文本文件,只允许写数据 

                           wb :打开一个二进制文件,只允许写数据

 这类参数还有很多,读者需要的时候可以去查阅相关资料,这里就不一一列出了。如果文件打开失败,fopen()将返回一个NULL指针。

                      2.2关闭文件fclose():这个函数用来关闭一个文件,其用法为:  

                         fclose(文件指针)       

//运行下面的程序将在E盘下建立一个file1.txt文件
#include
  
  
   
   
int main(){
   FILE * filepoint;                            //创建 一个文件指针
   filepoint = fopen("E://file1.txt","w");      //打开一个文件,并将该指针指向文件
   fclose(filepoint);                           //关闭文件
   return 0;
}

  
  
      

           上面这个程序添加了fclose(filepoint)一行,fopen()与fclose()需要成对使用,fclose()成功关闭文件返回值为0,返回EOF则表示发生了错误。文件关闭函数十分简单,但很容易在文件处理完后忘记调用fclose()去关闭文件,造成了系统资源的浪费。

               3.关于文件指针

               文件指针变量由系统定义,通过FILE * filepoint,便可以定义一个文件指针。文件指针实际上是指向文件结构变量区地址的指针,通过文件指针,可以对文件进行一系列的操作,除了上述的打开文件,关闭文件,还包括文件写入,文件读取,文件删除等操作。

                下一节,将讨论如何利用这个指针进行文件核心操作: 1.文件写入      2.文件读取

                    


          


       

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值