C/C++教程

C/C++ 文件读取操作 竞赛篇

本文主要是介绍C/C++ 文件读取操作 竞赛篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Open file

FILE *fp = fopen("file_name","mode")

mode参数解释:
“r”:以只读的形式打开文本文件(不存在则出错)
“w”:以只写的形式打开文本文件(若不存在则新建,反之,则从文件起始位置写,覆盖原内容)
“a”:以追加的形式打开文本文件(若不存在,则新建;反之,在原文件后追加)
“r+”:以读写的形式打开文本文件(读时,从头开始;写时,新数据只覆盖所占的空间)
“wb”:以只写的形式打开二进制文件
“rb”:以只读的形式打开二进制文件
“ab”:以追加的形式打开一个二进制文件
“rb+”:以读写的形式打开二进制文件。
“w+”:首先建立一个新文件,进行写操作,然后从头开始读(若文件存在,原内容将全部消失)
“a+”:功能与”a”相同。只是在文件尾部追加数据后,可以从头开始读
“wb+”:功能与”w+”相同。只是在读写时,可以由位置函数设置读和写的起始位置
“ab+”:功能与”a+”相同。只是在文件尾部追加数据之后,可以由位置函数设置开始读的起始位置

判断文件是否打开失败

if(fp ==NULL) {
	printf("open file fail!");
	exit(1);
}

file operation function

文件的打开

  • fopen():打开文件

文件的关闭

  • fclose():关闭文件

文件的读写

  • fgetc():读取一个字符
  • fputc():写入一个字符
  • fgets():读取一个字符串
  • fputs():写入一个字符串
  • fprintf():写入格式化数据
  • fscanf():格式化读取数据
  • fread():读取数据
  • fwrite():写入数据

文件状态检查

  • feof():文件是否结束
  • ferror():文件读/写是否出错
  • clearerr():清除文件错误标志
  • ftell():文件指针的当前位置

文件指针定位

  • rewind():把文件指针移到开始处
  • fseek():重定位文件指针

Usage

文件类型分为:
文本文件和二进制文件。
对于竞赛中出现的,都是.txt结尾的文件文件。
文本文件是以字符编码的方式进行保存的。
因此我们读取文件中矩阵的话,需要创建一个字符数组进行存储。

	FILE *fp = fopen("2020.txt","r");
	if(!fp){
		printf("open file fail!\n");
		exit(1);
	}
	char cur;
	while(!feof(fp)){
		cur = fgetc(fp);
		if(cur=='\n'){
			n++;
			m=0;
			continue;
		}
		map[n][m++]=cur;
	}
	n++;

Instance

附:2020年蓝桥杯Python组第二题-寻找2020

这篇关于C/C++ 文件读取操作 竞赛篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!