前言

最近在写Ptask,顺便了解了如何进行文件读入输出。而在Ptask中最重要,也是最最容易出bug的地方就是文件操作。那么如何进行文件输入输出,在程序中起到重要作用呢?

输入

首先为了保证可以在控制台和文件中都可以进行输入输出,我们不用freopen(据说开启文件读入后就切换不回来了)然后就只能用头文件<fstream>中的ifstreamofstream了。

首先我们需要利用ifstream 名字去开启一个输入的文件流。比如

  1. ifstream in;
  2. in.open("in.txt");
  3. in >> a;

在这个实例中我们用in打开了in.txt这个文档,目前是只读文档,然后在里面读了一个a。

整数的话没有尝试,但是字符串一般是读一行。

为什么是只读文档呢?

因为我们只开启了一个读入的文件流,经尝试过后我发现,无法同时开启读入和输出两个流。否则会乱码。(不一定正确,如有错误请纠正)

然后读完过后就用in.close()操作关掉这个输入流。

输出

输出和输入道理类似,只是用ofstream罢了。

实例

那么我们来直接看看一个实例,以下是Ptask的部分源码(内容有所改变)。

  1. void end()
  2. {
  3. ofstream out;
  4. out.open(txtname);
  5. n = 0;
  6. for(int i = 1; i <= 100; i++)
  7. {
  8. if(strlen(name[i]) == 0)
  9. continue;
  10. if(del[i] == 1)
  11. continue;
  12. n++;
  13. }
  14. out<<n<<endl;
  15. out<<themer<<endl;
  16. out.close();
  17. }

我们看到,open中文件名是可以用字符串代替的,而且为了方便读入,我在每一项信息过后都换行符。

Ptask的功能当中,一个比较难实现的就是删除操作的实时显示,本来是可以利用大量代码实现的,但是利用文件操作也可以实现。

我们只需要对删除的内容做好标记,然后将未删除内容导出,最后重新导入显示,相当于重新加载了文档。但也是由于删除操作的实现原理原因,我们无法不保存某一个删除操作。

由于代码已经写好了,如果要改那么这个工程量可是难以想象的,毕竟后面的工能都有依赖于文件操作。我一个人改,哎,弄不来。

在最后的最后如果你认为这里的内容对你有所帮助,那么在右下角点个关注或者点个推荐或者把这篇文章分享出去,然后,没了。

文件输入输出实例&Ptask的编写的更多相关文章

  1. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

  2. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  3. Java学习-018-EXCEL 文件写入实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  4. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  5. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  6. Java学习-014-文本文件写入实例源代码(两种写入方式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...

  7. Java学习-013-文本文件读取实例源代码(两种数据返回格式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...

  8. oracle数据库表空间文件收缩实例

    Oracle数据文件收缩实例 数据文件的作用 HWM的基本概念 查看数据文件的使用情况 包括内容:数据文件大小,已经used空间,free空间,hwm信息 select /*+ ordered use ...

  9. php读取excel文件的实例代码

    php读取excel文件的实例代码. 代码: <?php /** * php读取excel文件 * by www.jbxue.com */ $this->loadexcel();//半酣p ...

随机推荐

  1. Bootstrap4 正式发布

    历经三年开发,前端框架Bootstrap 4正式发布了.然而今天的Web世界已经和当初Mark Otto发布Bootstrap时的情况大为不同,一些开发者由此质疑它的更新是否还有意义 1.V4版本的主 ...

  2. html/css系列-图片上下居中

    本文详情:http://www.zymseo.com/276.html图片上下居中的问题常用的几种方法:图片已知大小和未知大小,自行理解 .main{ width: 400px;height: 400 ...

  3. 选择结构二switch选择结构

     在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用 ...

  4. 打开ElasticSearch、kibana、logstash的正确方式

    作者:玩世不恭的Coder时间:2020-03-08说明:原创不易,本文为原创文章,未经允许不可转载,转载前请联系作者 打开ElasticSearch.kibana.logstash的正确方式 前言一 ...

  5. 认识Nginx

    无论你用浏览器还是APP访问多数网站,到达的第一站就是Nginx. 后来者居上的Nginx 千禧年前后,互联网业务迎来了高速发展,老牌的Web服务器都无法满足高性能.高可靠的市场需求. 一个开源的(遵 ...

  6. swoole模块的编译安装:php编译安装swoole模块的代码

    本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.下载swoole 1 wget ht ...

  7. ES6整体内容

    ES6内容: 附网站链接:http://www.jscwwd.com/article/5e6488e849a13d1a89caf574

  8. Posix线程编程指南(5)

    Posix线程编程指南(5) 杨沙洲 原文地址:http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part5/ 杂项 ...

  9. 【opencv系列02】OpenCV4.X图像读取与显示

    一.读取图片 opencv中采用imread() 函数读取图像 imread(filename, flags=None)     filename 图片的路径     flags 图像读取方式 ● c ...

  10. Mybatis总结一之SQL标签方法

    ---恢复内容开始--- 定义:mapper.xml映射文件中定义了操作数据库的sql,并且提供了各种标签方法实现动态拼接sql.每个sql是一个statement,映射文件是mybatis的核心. ...