当前位置: 首页 > news >正文

文件操作板子

文件操作板子

  • 基础知识(具体见《高级设计语言》P173)
    • 1、fopen打开文件,切记,一定是和fclose对应出现,有打开必然要有关闭
    • 2、fclose关闭文件
    • 3、文件打开的各种形式
    • 4、fgetc、fputc
    • 5、fgets、fputs
    • 6、fscanf、fprintf格式化读写
    • 7、文件读写指针操作:rewind、fseek
    • 8、文件读写指针操作:ftell、feof
    • 9、fread、fwrite
  • 具体题目
    • 计专2019(P88)
      • 思路
      • 代码

基础知识(具体见《高级设计语言》P173)

1、fopen打开文件,切记,一定是和fclose对应出现,有打开必然要有关闭

在这里插入图片描述

2、fclose关闭文件

在这里插入图片描述

3、文件打开的各种形式

在这里插入图片描述

4、fgetc、fputc

在这里插入图片描述

5、fgets、fputs

在这里插入图片描述

6、fscanf、fprintf格式化读写

在这里插入图片描述

7、文件读写指针操作:rewind、fseek

在这里插入图片描述

8、文件读写指针操作:ftell、feof

在这里插入图片描述

9、fread、fwrite

在这里插入图片描述
在这里插入图片描述

具体题目

计专2019(P88)

在这里插入图片描述

思路

1、根据教师信息的格式构建结构体,为创建链表做准备

typedef struct teacher {//根据文件之中每条信息的格式,建立结构体,数据类型得具体按照题意设置
	char workNum[10];
	int sex;
	char name[20];
	int year;
	teacher* next;
}teacher;

2、打开文件

	FILE* fp = fopen("input.txt", "r");//fopen,传入文件名称,读写方式,返回一个file类型的指针

3、用格式化fscaf读取数据
注意:%s不用&符号,%d需要&符号,和scanf规则一致

		fscanf(fp, "%s,%d,%s,%d", tmp->workNum, &tmp->sex, tmp->name, &tmp->year);

4、判断是否读取完毕

		if (feof(fp)) {//判断是否读取完毕
			break;
		}

5、最后一定要把文件关闭

	fclose(fp); //记得关闭文件,否则可能会是扣分点(有开就有关)

代码

#include <iostream>
#include <string>
#include <stack>
#include <queue>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
typedef struct teacher {//根据文件之中每条信息的格式,建立结构体,数据类型得具体按照题意设置
	char workNum[10];
	int sex;
	char name[20];
	int year;
	teacher* next;
}teacher;
teacher* function_three() {
	FILE* fp = fopen("input.txt", "r");//fopen,传入文件名称,读写方式,返回一个file类型的指针
	teacher* head = (teacher*)malloc(sizeof(teacher));//建立哨兵节点(利用头插法,少一个指针,方便控制)
	while (1) {//开始读取数据
		teacher* tmp = (teacher*)malloc(sizeof(teacher));//建立节点,准备接收数据
		//用fscanf读取数据,参数文件指针,后两项和scanf一样
		fscanf(fp, "%s,%d,%s,%d", tmp->workNum, &tmp->sex, tmp->name, &tmp->year);
		if (feof(fp)) {//判断是否读取完毕
			break;
		}
		//开始头插法,插入到哨兵节点后面
		tmp->next = head->next;
		head->next = tmp;
	}
	fclose(fp); //记得关闭文件,否则可能会是扣分点(有开就有关)
	return head;
}

相关文章:

  • 做网站带源码软件/企业软文代写
  • wordpress 页面分类/公司宣传网页怎么做
  • 东西湖网站建设/自助搭建平台
  • 高端品牌女装/广州网站制作实力乐云seo
  • 大连建设网节能办公室网站/优化网站排名
  • 网络科技公司网站建设策划/专门发广告的app
  • 【mysql是怎样运行的】-mysql字符集
  • Android三种数据存储的方式
  • 【免费赠送源码】Springboot良辰之境影视评鉴系统n50rq计算机毕业设计-课程设计-期末作业-毕设程序代做
  • HTML+CSS抗疫网页设计 疫情感动人物静态HTML网页 web前端开发技术 web课程设计 网页规划与设计
  • JavaWeb_第6章_FilterListenerAjax
  • MySQL高级语句(三)
  • java入门(一)
  • 八股文之算法
  • 【Python】《Python编程:从入门到实践 (第2版) 》笔记-Chapter5-if 语句
  • 用 NEON 实现高效的 FIR 滤波器
  • 程序员基础能力系列(1)——vim快捷键总结
  • [附源码]计算机毕业设计基于springboot的高校资源共享平台