c语言中文本文件的读、写、追加

在c语言的编程中,我们有时候需要用到文件的操作。文件可以分为文本文件和二进制文件,这篇文章主要是讲解对文本文件的操作。

文件的操作是包含在头文件

stdio.h

首先需要将文件打开

FILE *fp;
fp=fopen("filename","打开方式");  //该函数是

这里主要将解三个比较常见的操作读(r)、写(W)和追加(a)。

  • 读(r):就是将数据从文件读到程序里,这要求所处理的文件一定要存在,否则就会读取失败
  • 写(w):就是将数据写入文件中,所处理的文件可以存在,也可以不存在,如果不存在就会自动创建一个新的文件,然后再将所写的数据存入文件中。但是如果文件已经存在了,并且文件里面已经有数据了,如果执行写操作,那么原有的内容就会被覆盖。
  • 追加(a):跟写操作有点类似,文件可以存在也可以不存在,但是如果文件存在,并且有数据,执行写操作时(fopen(“filename”,“a”))时,所写进的数据会存在已有数据的后面,不会覆盖原有数据。
    下面就用一个例子来演示一下:
    题目要求:
    读取一个文件,并将文件里的数据打印出来。
#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *fp;
	char ch,filename[100];  //filename用来存储文件名
	printf("请输入文件名");
	gets(filename);
	if((fp=fopen(filename,"r"))==NULL)
	{
		printf("读取文件失败\n");
		exit(0);
	}
	while((ch=fgetc(fp))!=EOF)  //等于EOF表示读到文件末尾,或者读取失败
	{
		putchar(ch);
	}
	fclose(fp);  //将文件关闭
	return 0;
}

这里需要强调一下,我们在处理完文件之后需要将文件关闭,主要有两方面原因:
1、文件是缓冲区中是数据的量达到一定是才写进文件的,要将文件关闭才能将数据写入文件。
2、打开一个文件就要占一部分内存,如果内存中打开的文件太多可能其他文件就不能打开,这方面也算是节约资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值