栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

详解文件操作(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

详解文件操作(一)

序言

这个模块很少使用,今天就稍微的谈一谈

文件 文件类型

在计算机中,根据数据的组织形式,数据文件被称为文本文件或者二进制文件

文本文件 ASCII码组成 人们能够看懂二进制文件 01组成 人看不懂 打开&关闭文件

在C语言中,我们通过代码来打开一个文件,这也是C语言强大的表现之一

#include

int main()
{

	FILE* pf = fopen("test.txt", "w"); //打开一个名为test.txt的文件

	fclose(pf);  //关闭文件
	pf = NULL;
	return 0;
}


fopen

fopen是一个打开文件的函数,有两个参数,返回值是一个指向文件类型的指针

下面我来解释一下,FILE* pf = fopen(“test.txt”, “w”)

test.txt

test.txt是一个文件名和文件的类型,要是我们不给它指定文件的位置,计算机默认是在该代码所在的目录下,当然我们也可以指定目录

	FILE* pf = fopen("D:\码云库\2022:test.txt", "w"); 

w

这里的w是以 写 文件的形式打开的,要是该目录下没有这个文件,计算机就会自动创建一个,这里有很多打开方式,我就不一一说了,大家看一下就可以了

当我们以 r 的形式打开,要是没有这个文件,会返回一个NULL指针

注意,我们每一次以 w 的形式打开文件,文件里面的内容会自动清空

写文件

打开文件后,我们就可以进行往文件里面写入内容了,这会用到一些函数,不要着急,我会仔细的解释

fgetc函数

fgetc函数从文件中读取一个字符,并且文件指针往后走一个,返回的是这个字符的ASCII码值,当读取到文件尾是返回EOF

我们先在test.txt中存储几个字符

#include
#include
#include

int main()
{

	FILE* pf = fopen("test.txt", "r"); //以读的的形式打开一个名为test.txt的文件
	if (pf == NULL)
	{
		printf("%sn", strerror(errno));
		return 1;
	}
	//写文件
	int ch = 0;
	while ((ch = fgetc(pf)) != EOF)
	{
		printf("%c", ch);
	}
	printf("n");
	fclose(pf);  //关闭文件
	pf = NULL;
	return 0;
}
fputc函数

这个往文件中写入的函数

#include
#include
#include

int main()
{

	FILE* pf = fopen("test.txt", "w");
	if (pf == NULL)
	{
		printf("%sn", strerror(errno));
		return 1;
	}
	//写文件
	for (int ch = 'a';ch <= 'z'; ch++)
	{
		fputc(ch, pf);
	}
	printf("n");
	fclose(pf);  //关闭文件
	pf = NULL;
	return 0;
}

欲知后事如何,请听下回分解 拷贝文件
#include
#include
#include

//把test.c 的内容拷贝到 test.txt中
int main()
{

	FILE* wpf = fopen("test.txt", "w");

	FILE* rpf = fopen("test.c", "r");

	if (rpf == NULL)
	{
		printf("%sn", strerror(errno));
		fclose(wpf);
		wpf = NULL;
		return 1;
	}

	//拷贝
	int ch = 0;
	while ((ch = fgetc(rpf)) != EOF)
	{
		fputc(ch, wpf);
	}
	
    //关闭文件
	fclose(rpf);  
	rpf = NULL;
	fclose(wpf);
	wpf = NULL;
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/766694.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号