将输入文件的字符反转再写入新的文件

题目描述

对于一个文本文件text1.dat,编写一个程序,将该文件中的每一行字符颠倒顺序后输出到另一个文件text2.dat中。

输入文件

输入文件为当前目录下的text1.dat,该文件含有多行任意字符,也可能有空行。每个文本行最长不超过80个字符。在最后一行的结尾也有一个回车符。

This is a test!
Hello, world!
How are you?

输出文件

输出文件为当前目录下的text2.dat。

!tset a si sihT
!dlrow ,olleH
?uoy era woH

算法思想

  1. 设立输入输出char数组
  2. 读取文件操作
  3. 逐行读取文件内容
  4. 对缓冲区的字符串翻转
  5. 逐行将字符串写入输出文件

代码实现

#include<stdio.h>
#include<stdlib.h>
#include<string.h>void writeOut(char outPath[],char readStr[],FILE *fp);void reverStr(char *str)
{if(str==NULL){return;}//建立两个char*指针//一个指向头部,一个指向尾部char *start=NULL;char *end=NULL;char n;int len=strlen(str)-1;start=str;end=str+len;//调换头尾位置while(start<end){//跳过换行符if(*end!='\n'){n=*start;*start=*end;*end=n;start++;end--;}else{end--;}}
}void readSrc(char srcPath[],char outPath[])
{//设立两个文件指针参数FILE *f;int readRow=0;f=fopen(srcPath,"r");FILE *fp;fp=fopen(outPath,"w+");if(f==NULL){return;}//当没有到文件结束符继续进行循环while(!feof(f)){//设立缓冲区char readStr[1024];//逐行读取.并判断是否遇到空行if(fgets(readStr,1024,f)!=NULL){//反转字符串reverStr(readStr);writeOut(outPath,readStr,fp);printf("%s",readStr);};}// printf("%s\n",readStr);fclose(f);fclose(fp);
}void writeOut(char outPath[],char readStr[],FILE *fp)
{if(fp==NULL){return;}fputs(readStr,fp);// fwrite(readStr,100,1,f);
}int main()
{char srcPath[100]="text1.dat";char outPath[100]="text2.dat";//读取输入文件readSrc(srcPath,outPath);// writeOut(outPath);}

实现过程

将输入文件的字符反转再写入新的文件相关推荐

  1. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例

    用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...

  2. 用JAVA SOCKET编程,读服务器几个字符,再写入本地显示

    Server: package cn.itcast.framework.socket;import java.io.BufferedReader; import java.io.IOException ...

  3. java面试 socket_【面试题】Java 的通信编程,编程题(或问答),用JAVA SOCKET 编程,读服务器几个字符,再写入本地显示?...

    答:Server端程序: packagetest; importjava.net.*; importjava.io.*; publicclass Server{ privateServerSocket ...

  4. python实现csv提取固定行写入新csv文件

    # -*- coding:utf-8 -*- """ 作者:sunli 日期:2022年02月22日10:23 """ import pan ...

  5. Java读取Excel文件数据并将记录写入到新的文件中--POI技术实现

    1. apache poi包里有4个主要的类: Workbook----工作表,通过WorkbookFactory的create(FileInputStream fis)方法获取, Sheet---- ...

  6. Python-gdal读取卫星数据,并提取三个波段写入新的tif

    #导入gdal包 from osgeo import gdal #读取遥感影像数据 path=r'E:\oil.tif' ds=gdal.Open(path) num=ds.RasterCount # ...

  7. WordCount--统计输入文件的字符数、行数、单词数(java)--初级功能

    码云地址: https://gitee.com/YuRenDaZ/WordCount 个人PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 180 ...

  8. java保留想要的字符,反转Java中的字符,同时保留一些字符 - java

    我有一个字符串,想要反转它,以便某些字符反转,而其他字符保留在原位.我该如何实现(例如,假设所有数字都留在原处时我希望所有字母都颠倒过来)? 参考方案 您可以为其创建一个自动机: 遍历字符串,将每个字 ...

  9. QTableWidget中如何清空行,并保持行仍可再写入数据

    问题: 写qt程序时,使用到了QTableWidget制作了表格,并显示数据.我打算表格最多显示100行,如果超过100行内容,则清除100行内容后,从0行开始重新写入数据.使用ClearConten ...

最新文章

  1. XCTF联赛“出海计划”开启,八月新加坡站国际赛蓄势待发
  2. 线性代数笔记:Khatri-Rao积
  3. printf, sprintf - 转换成指定格式的输出结果.
  4. 数据库性能优化—分库分表
  5. 分布式资源调度—YARN框架
  6. python没有菜单栏怎么搞mac_Mac 下 sublime 怎么调出顶端菜单栏
  7. Microsoft Dynamics CRM 数据库连接存储位置在哪里 是在注册表里
  8. 简述java的异常处理机制_简述java异常处理机制
  9. python导入自己写的模块_Python:包、模块和导入
  10. 一步一步写算法(之排序二叉树删除-3)
  11. Android类似日历的翻转控件
  12. 【MyBatis框架】Lombok插件的安装及使用
  13. PowerBI为企业整体业务流程系统(CRM)提供完整解决方案模板
  14. 安装SQLServer2016出错提示:需要安装oracle JRE7 更新 51(64位)或更高版本2种解决办法.
  15. ISO_IEC_27003:2017信息安全管理体系中文解读
  16. 深度学习实战7-电商产品评论的情感分析
  17. android apk 重新签名工具,安卓apk重新签名教程,快来定制自己的apk吧
  18. 上市公司产权和股权性质-区分非国企、国企和央企(2003-2020)
  19. win7连接sftp_Windows下用sftp巧妙打造安全传输
  20. 【C语言--文件】(详细解读)

热门文章

  1. 婴儿体重不用计算机怎么算,测量宝宝体重计算器
  2. yarn serve yarn : 无法加载文件 D:\node\node_global\yarn.ps1,因为在此系统上禁止运行脚本。
  3. 网络采集和数据分析如何帮助您实现业务增长?
  4. 学习笔记(二):使用 TensorFlow 的起始步骤(First Steps with TensorFlow)
  5. 【BZOJ4327】[JSOI2012] 玄武密码(AC自动机的小应用)
  6. c语言编程中精度eps是什么,c语言eps是什么意思
  7. 十二生肖出生时间看你一生荣辱
  8. ItunesConnect:苹果内购项目元数据缺失
  9. RIDE 图标点击没反应
  10. Firefox启动自带翻译