建立一个包含学生学号、姓名、成绩的文本文件。本例程一行放一个学生记录。

#include<iostream>
#include<fstream>
using namespace std;
/*
* 文本文件用文本文件流进行读/写操作。文本文件是顺序存取文件
* 文本文件用默认的方式的打开
* 描述一个对象的信息称为一个记录。文本文件本身没有记录逻辑结构。为了便于识别,
在文本文件中通常将一个记录放在一行(用换行符分隔的逻辑行)。记录的每个数据项
之间可以用空白符、换行符、制表符等作为分隔符
*
*/
int main() {char fileName[30], name[30];int number, score;ofstream outstuf;//建立输出文件流对象cout << "Please input the name of students file:\n";cin >> fileName;//输入文件名outstuf.open(fileName, ios::out);//连接文件,指定打开方式if (!outstuf)//调入重载算符函数测试流 {cerr << "File could not be open." << endl;abort();}outstuf << "This is a file of students\n";//写入一行标题cout << "Input the number,name,and score:"<< "(Enter Ctrl+Z to end Input)\n?";while (cin >> number >> name >> score) {outstuf << number<<'\t' << name <<'\t' << score << '\n';//向流插入数据cout << "?";}outstuf.close();}

程序运行所用例子

程序运行后所生成的文本

关于读取文本文件。读取上述代码建立的文本文件D :\student.txt,在屏幕上显示学生记录,以及最高分数、最低分数和平均分数。

#include<iostream>
#include<fstream>
using namespace std;
int main() {char name[30], s[80];int number, score;int n = 0, max, min, total = 0;double ave;ifstream instuf("d:\\student.txt", ios::in);//打开文件instuf.seekg(0, ios::beg);//流指针置在文件头if (!instuf){cerr << "File could not be open." << endl;abort();}instuf.getline(s, 80);//略去标题行while (instuf >> number >> name >> score)//提取并测试{cout << number << "\t" << name << "\t" << score << '\n';if (n == 0)max = min = score;else{if (score > max)max = score;if (score < min)min = score;}total += score;n++;}ave = double(total) / n;cout << "maximal is : " << max << "\nminimal is : " << min << "\naverage is : " << ave << '\n';instuf.close();//关闭文件
}
/*
* 浏览文件,部队文件数据进行任何处理,只需要简单的浏览一下文件。
* 函数browseFile用getline按行读出文件中的字符,
* 直接显示在屏幕上
* browseFile("d:\\file\\students.txt",0);来调用
*/
void browseFile(char*fileName,int delLine)
{ifstream inf(fileName, ios::in);char s[80];for (int i = 1; i <= delLine; i++)//读出开头delLine行不显示inf.getline(s, 80);while (!inf.eof()){inf.getline(s, 80);//按行读出文件cout << s << endl;//按行显示}inf.close();
}
/*
* 以app方式打开文件,向文件中追加数据
* 一个文本文件一旦建立之后,不能随意插入数据,但可以在文件尾部追加数据
*/
int Append(char* fileName)
{char name[30], ch;int number, score;ofstream outstuf(fileName, ios::app);//以追加方式打开文件if (!outstuf){cerr << "File could not be open." << endl;return 0;//返回0表示文件不能打开}cout << "DO you want append record to " << fileName << "?(Y or N)\n";cin >> ch;//用户应答while (ch == 'Y' || ch == 'y'){cout << "Input the number, name, and score :\n";cin >> number >> name >> score;outstuf << number << '\t' << name << '\t' << score << '\n';//追加一个记录cout << "?(Y or N)";cin >> ch;//用户问答if (ch == 'N' || ch == 'n')cout << "Close file.\n";}outstuf.close();return 1;//返回1表示文件正常操作
}

本文章所有代码数据来源《C++程序设计基础》(周霭如 林伟健),仅为本人学习文件c++存取的一些整理笔记。

文件存取信息(c++)相关推荐

  1. MFC中的文件读写技术

    计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的. 面向存储的文件技术 什么是文件?计算机中, ...

  2. C++学生信息管理系统(有头链表+文件存取)

    C++数据结构:有头链表+文件存取操作 编译环境:vs2019: 注意事项:点个关注吧: 由于代码较多,不贴出完整代码,会挑出主要部分来叙述,我会将源文件上传CSDN,并在文末附上百度网盘链接,有需要 ...

  3. Office 2016使用NTKO OFFICE控件提示“文件存取错误”的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 之前使用NTKO,电脑安装的说OFFICE2007,但是前2天电脑固态硬盘坏了 ,重新安装了系统,安装的说win10和offi ...

  4. 在计算机技术中描述信息最小单位是,计算机二级考试单选题

    C.鼠标器D.绘图仪 16.计算机技术中,下列度量存储器容量的单位中,最大的单位是( D ) A.KBB.MBC.ByteD.GB 17.下列各组软件中,属于应用软件的一组是( D ) A.Windo ...

  5. /oa/web应用程序中的服务器错误修复,如何处理OA系统在线阅读或编辑文档时weboffice控件提示“文件存取错误”的问题?...

    1.首先检查出现文件存取错的电脑ofiice软件版本是否为精简版,如果是精简版可能出现这种问题,卸载重装office完整版. 为排除office的问题,可以在卸载了office以后,直接安装wps也可 ...

  6. KEIL软件错误代码及错误信息

    KEIL软件错误代码及错误信息 错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error 2: Identifier expected 缺标识符 error 3 ...

  7. ABB机器人系统和出错信息

    系统和出错信息(从百度文库下载的) 1.概述 1.1 确认出错信息 1.2 调用纠正错误的建议 1.3 封锁出错信息 1.4 认可警告信息 1.5 登录信息使用的符号 操作登记信息 系统登记信息 硬件 ...

  8. C++课设-学生信息管理系统

    前言:上学期的一个简单的C++课设项目(代码在后面,附github项目链接) 一.问题描述: 建立学生信息数据,包括学号.姓名.性别.三科成绩.出生时间.年龄(必须计算得到). 使用继承的方法构造至少 ...

  9. HPUNIX环境常用查看硬件设备信息命令小结

    前段时间呢,因为工作上的关系,项目里面需要用到一些关于服务器各个环境下的查询命令,然后去网上找了下资料,整理了一下自己用到的命令放在这儿,如果有需要的朋友可以来这里看看,觉得不妥的地方可以相互沟通,如 ...

最新文章

  1. php 字符串判空,php 使用 preg_replace 去除空格后的字符串无法判空
  2. 隐藏导航栏或返回按钮
  3. [Tesseract]Tesseract 在 Visual Studio 2012 中的配置及调用
  4. im4java开发向导
  5. ES6的Reflect对象
  6. pandas tqdm添加进度条
  7. 单片机汇编语言编程_单片机编程用C语言还是汇编?
  8. 【Codeforces Round #442 (Div. 2) C】Slava and tanks
  9. 0基础学python做什么工作好-如何快速学习Python编程?可以做什么职业?
  10. touch事件详解【译文】
  11. 关于领域模型与技术架构的关系的思考
  12. Android: eoeAndroid ~
  13. 2022年上半年软考高项考试真题(三个科目都有)
  14. AE导出透明背景gif
  15. Python 随机漫步
  16. 微信公众号(订阅号)文章阅读数监控V0.1
  17. 全网最佳,第三方登录系列——苹果登录
  18. ng-alain php,在angular中基于ng-alain如何定义自己的select组件?
  19. 程序员用软件测试原理解读蚂蚁集团上市受阻!
  20. requests 已过时,初探协程与异步 http 框架 httpx

热门文章

  1. 体育赛事视频直播方案
  2. 老程序员解Bug的通用办法
  3. 三坐标检测之零件坐标系的建立原理
  4. HTML实战训练(1)——美站库
  5. 自动玩一局4399钢琴小游戏
  6. Android开发和调试 .
  7. 蓝叠验证码java异常,使用adb连接蓝叠模拟器(中国版)
  8. 苹果虚拟机软件Parallels Desktop与VMware Fusion有何不同?
  9. S4 FOR HANA 变化或注意点记录(持续记录)
  10. Oracle查询字段以外的内容,Oracle查询字段内容为非数字的记录