ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-01-02 11:03:57  阅读:150  来源: 互联网

标签:fp 文件 file 竞赛 读取 二进制 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

标签:fp,文件,file,竞赛,读取,二进制,C++,文本文件,打开
来源: https://blog.csdn.net/weixin_45774972/article/details/122274253

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有