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

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

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

stdio.h

首先需要将文件打开

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

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

  • 读(r):就是将数据从文件读到程序里,这要求所处理的文件一定要存在,否则就会读取失败
  • 写(w):就是将数据写入文件中,所处理的文件可以存在,也可以不存在,如果不存在就会自动创建一个新的文件,然后再将所写的数据存入文件中。但是如果文件已经存在了,并且文件里面已经有数据了,如果执行写操作,那么原有的内容就会被覆盖。
  • 追加(a):跟写操作有点类似,文件可以存在也可以不存在,但是如果文件存在,并且有数据,执行写操作时(fopen(“filename”,“a”))时,所写进的数据会存在已有数据的后面,不会覆盖原有数据。
    下面就用一个例子来演示一下:
    题目要求:
    读取一个文件,并将文件里的数据打印出来。
#include
#include
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、打开一个文件就要占一部分内存,如果内存中打开的文件太多可能其他文件就不能打开,这方面也算是节约资源。

你可能感兴趣的:(c语言中文本文件的读、写、追加)