前言

我现在学习文件的输入与输出,写下此篇博客充当学习笔记

问题回顾

英文电影中参演人员名单一般以某种方式进行排版显示。给定一个未排版的文件listin.txt,该文件中每行参演人员名单由冒号ldquo:rdquo分隔成前后两部分,但格式杂乱无章,单词(由除空格和水平制表符之外的其它字符构成)之间可能有多个空格或水平制表符分隔。编写程序,要求将其按如下排版规则排版输出到另一个文件listout.txt中:

1.从标准输入整数,作为排版后所有各行冒号在一行中的固定位置,输入的整数肯定大于排版后所有各行冒号前的字符个数,位置从1开始计数;

2.冒号左边的单词串以行头为基准左对齐,左边的最后一个单词与冒号之间以空格填充;冒号右边的单词串以冒号基准左对齐,最后一个单词后只有回车换行符,不再有其它字符;

3.冒号左右两边的单词间都只有一个空格分隔,并且要求冒号两边至少各有一个空格。

假设输入文件中每行字符个数不超过100。

【输入形式】

待排版的参演人员名单从当前目录下的listin.txt文件中读入,表示冒号位置的整数从标准输入读入。

【输出形式】

排版后的参演人员名单输出到当前目录下的listout.txt中。

【输入样例】

假设文件listin.txt内容为:

Digital Intermediate by : EFILM

Supervising Digital Colorist : STEVEN J. SCOTT

Second Colorist :ANDREW FRANCIS

Digital Intermediate Producer:LOAN PHAN

Digital Intermediate Editor: DEVON MILLER

表示冒号固定位置的整数为:

40

【输出样例】

文件listout.txt中的内容应为:

【样例说明】

输入的文件listin.txt中有五行参演人员名单,要求排版后冒号位于第40个字符的位置,按照上述排版规则输出到文件listout.txt中。

代码实现

#include<iostream>
#include<fstream>//支持磁盘文件输入和输出
#include<iomanip>//控制输出格式
#include<string>
using namespace std;
int main(){int location;cin >> location;//设置冒号固定的位置ifstream infile("listin.txt");ofstream outfile("listout.txt");string str;while (getline(infile,str))//读取文件中的一行,设置为按行读取{bool flag = true;//判断是在“:”前还是之后string ocu, name;//分别表示职位和姓名for (int i = 0; i < str.length();i++){if(str[i]==':'){flag = false;continue;}if (flag == true){if(str[i]!=' '&&str[i]!='\t'){//注意题目中有说制表符ocu += str[i];if(str[i+1]==' '||str[i+1]=='\t')ocu += ' ';}}else{if(str[i]!=' '&&str[i]!='\t'){name += str[i];if(str[i+1]==' '||str[i+1]=='\t')name += ' ';}}}outfile << setw(location - 1) << left << ocu << ':' << ' ' << name<<'\n';//输出到outfile文件中去,设置location-1个宽度,":"的位置自然就是location的位置了,"left"表示左对齐,头文件为iomanip}return 0;
}

可以一步步调试看看运行过程

文件排版(文本文件读写)相关推荐

  1. c语言 如何创建txt文件,C++文本文件读写操作详解

    前面章节中,已经给大家介绍了文件流对象如何调用 open() 方法打开文件,并且在读写(又称 I/O )文件操作结束后,应调用 close() 方法关闭先前打开的文件.那么,如何实现对文件内容的读写呢 ...

  2. 作业:文件排版(文本文件读写)

    [问题描述] 英文电影中参演人员名单一般以某种方式进行排版显示.给定一个未排版的文件listin.txt,该文件中每行参演人员名单由冒号ldquo:rdquo分隔成前后两部分,但格式杂乱无章,单词(由 ...

  3. python读写文件函数_Python读写文件

    转载自:http://blog.csdn.net/adupt/article/details/4435615 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用 ...

  4. c语言生成随机坐标,C语言 文件的随机读写详解及示例代码

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  5. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  6. 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 追加键值对数据 | 更新键值对数据 )

    文章目录 一.追加键值对数据 二.更新键值对数据 三.完整代码示例 一.追加键值对数据 在上一篇博客 [C 语言]文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取 ...

  7. c语言二fseek从文件头移动_编程C语言文件的随机读写

    实现随机读写的关键是要按要求移动位置指针,这称为文件的定位. 文件定位 移动文件内部位置指针的函数主要有两个,即rewind()和fseek().rewind函数前面已多次使用过,其调用形式为:    ...

  8. Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】

    Python实训-15天-博客汇总表 目录 1.列表生成式 2.列表的嵌套 2.1.习题1 2.2.习题2 3.非文本文件的读写 3.1.读取文件的大小 3.2.复制文件 4.课堂练习 列表生成式 非 ...

  9. python csv读写方法_python中csv文件的若干读写方法小结

    如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() ...... //用普通文本方 ...

  10. c语言生成随机的坐标,C语言文件的随机读写

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

最新文章

  1. AVR开发 Arduino方法(附四) 参考文献与网址
  2. Boost Part III. 函数对象与高级编程 Library 10. Lambda 用法 switch_statement
  3. iOS之深入解析dyld与ObjC关联的底层原理
  4. 数据结构单向不循环链表实现多项式合并
  5. ue4 设置intellisence_UE4.22编辑器界面操控设置(4)
  6. arm linux 蜂鸣器qt,Qt 程序中使用蜂鸣器 ioctl()
  7. 2022全球声望最佳的100个企业排行榜
  8. python的误差条形图的解释_python – Seaborn因子图自定义误差条
  9. python显示时间_python日期时间处理总结
  10. 2021 考研线代知识点整理
  11. python 怎么得到图像深度图 软件_Python为8bit深度图像应用color map
  12. paip.杀不死进程的原因--僵尸进程的解决.txt
  13. 共模电感适用的频率_详解消灭EMC的三大利器:电容器/电感/磁珠!
  14. 企业常用网管软件介绍及配置说明
  15. 4600u黑苹果 r5_黑苹果集成显卡Intel HD Graphics 4400/4600 驱动方法
  16. 计算机通信普遍采用报文交换,报文交换
  17. 数据中台-背景与概念
  18. java实现阿里云短信验证
  19. [生存志] 第3节 序 汉字的韵脚和格律(下)
  20. 2022-2028全球智能户外电视行业调研及趋势分析报告

热门文章

  1. AE学习笔记——第三章:动画制作基础1
  2. CSP 2020 入门级第一轮1~17题解析
  3. VB计算汉字笔画数代码
  4. 环境模块迁移-freeze
  5. 利用mobi 和 epub 电子书文件建立自己的书库
  6. Springboot 下载文件
  7. 安装MySQL报错:Failing package is: mysql-community-client-5.7.40-1.el7.x86_64 GPG Keys are configured as
  8. 百度涉嫌行政违法;库克承诺调查“沙特用App监控女性出境”事件;苹果高管涉内幕交易遭起诉 | 雷锋早报...
  9. ESP32 测试(五): Light-sleep 模式下的电流功耗测试及特性(使用 Wi-Fi)
  10. 超详细,wepy小程序如何引入第三方插件wxPano