文件的基本内容

一、文件包括:程序文件和数据文件

程序文件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。

文件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或 者输出内容的⽂件。

1、文件名

文件名由文件路径、文件名主干、文件后缀三部分组成。

例如: c:\code\test.txt。

2、二进制文件

数据在内存中以二进制形式存储,不加转换的输出到外存文件中的文件。

二、流和标准流

1、流

我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出 操作各不相同,为了⽅便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流 想象成流淌着字符的河。

C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。

2、标准流

• stdin标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。

• stdout标准输出流,⼤多数的环境中输出⾄显示器界⾯,printf函数就是将信息输出到标准输出 流中。

• stderr标准错误流,⼤多数环境中输出到显示器界⾯。

这是默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏输⼊输出操作的。

 stdin、stdout、stderr三个流的类型是: FILE* ,通常称为⽂件指针。

 C语⾔中,就是通过 FILE* 的⽂件指针来维护流的各种操作的。

三、文件的打开和关闭

ANSIC规定使⽤ fopen 函数来打开⽂件, fclose 来关闭⽂件。

//打开⽂件 
FILE * fopen ( const char * filename, const char * mode );
//关闭⽂件 
int fclose ( FILE * stream );

mode是文件打开模式。

下面整理了一些文件打开模式:

举个例子:

/* fopen fclose example */
#include <stdio.h>
int main ()
{
 FILE * pFile;
 //打开⽂件 
 pFile = fopen ("myfile.txt","w");
 //⽂件操作 
 if (pFile!=NULL)
 {
 fputs ("fopen example",pFile);
 //关闭⽂件 
 fclose (pFile);
 }
 return 0;
}

这里通过  “ w ” 读一个文件  “ myfile.txt ”,然后将其内容输入到 “ fopen example” 。注意一定要判断空指针。

四、文件的顺序读写

1、顺序读写函数

 上面代码中的 fputs 其实是一种顺序读写函数。

这里强调一下,关闭文件后一定要把指针置为空。

这里简单举一个例子:

将test.txt文件中的字符串打印出来。

2、fscanf、sscanf、fprintf、sprintf

fscanf:从指定的输入流上读取格式化的数据。

sscanf:在字符串中读取格式化的数据。

fprintf:把数据以格式化的形式打印在指定的输出流上。

sprinf:把格式化的数据转化成字符串。

五、feof

feof经常被错误使用。

要铭记feof的作用:当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值