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

C语言-文件操作-10

题目:

编写一个程序,可以用使用命令行参数或提示用户输入文件名。

a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件,以此类推,打印到行数较多文件的最后一行。

b.修改该程序,把行号相同的行打印成一行

源代码:

#include <stdio.h> #include <stdlib.h> #include <string.h> #define LINE_SIZE 256 int main(int argc,char * argv[]){ char *line_one = (char *)malloc(LINE_SIZE * sizeof(char)); char *line_two = (char *)malloc(LINE_SIZE * sizeof(char)); int first_end = 1; FILE * fp1,*fp2; if((fp1 = fopen(argv[1],"r")) == NULL){ fprintf(stderr,"Open %s failed\n",argv[1]); exit(EXIT_FAILURE); } if((fp2 = fopen(argv[2],"r")) == NULL){ fprintf(stderr,"Open %s failed\n",argv[2]); exit(EXIT_FAILURE); } printf("Print the line one bye one.\n"); int i = 1; while(fgets(line_one,LINE_SIZE,fp1) != NULL){ if(fgets(line_two,LINE_SIZE,fp2) != NULL){ printf("File 1 LINE NO.%d: %s\n",i,line_one); printf("File 2 LINE NO.%d: %s\n",i,line_two); i++; } else{ printf("File 1 LINE NO.%d : %s\n",i,line_one); i++; } } while(fgets(line_two,LINE_SIZE,fp2) != NULL) printf("File 2 LINE NO.%d : %s\n",i++,line_two); i=1; rewind(fp1); rewind(fp2); printf("Print the combine line.\n"); rewind(fp1); rewind(fp2); i = 1; while(fgets(line_one,LINE_SIZE,fp1) != NULL){ if(fgets(line_two,LINE_SIZE,fp2) != NULL){ printf("LINE NO.%d :\n",i); while(*line_one != '\n') putchar(*line_one++); putchar('+'); printf(" %s\n",line_two); i++; } else{ printf("LINE NO.%d : %s\n",i,line_one); i++; } } while(fgets(line_two,LINE_SIZE,fp2) != NULL) printf("LINE NO.%d : %s\n",i++,line_two); fclose(fp1); fclose(fp2); printf("打印结束\n"); return 0; }

演示效果:


如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

http://www.jsqmd.com/news/1309309/

相关文章:

  • 练词汇必看!最新老师推荐的单词学习APP
  • 天道56集
  • 如何在macOS上轻松制作Windows启动盘:WinDiskWriter跨平台部署终极指南
  • Android - 摄像头 - hal - 开发教程,例子,常见问题,分析方法,解决方案
  • 从浅到深:Jamm中MemoryMeter的shallowSize与measureDeep方法全解析
  • 成都管道疏通上门怎么选?本地疏通靠谱团队TOP5 全方位分析 - 园子一号
  • 计算机毕业设计之宠物交易微信小程序的设计与实现
  • 厦门管道疏通上门怎么选?本地疏通靠谱团队TOP5 全方位分析 - 园子一号
  • mlf数据集扩展指南:从网络、数据库和文件系统加载大规模数据
  • MHDDoS深度解析:5个TeamSpeak服务器探测技术揭秘与实战应用
  • 魔兽争霸3终极优化指南:免费工具让你的经典游戏焕发新生
  • 如何用Continue开源AI编程助手提升3倍编码效率:新手完整指南
  • BiliBiliToolPro终极指南:一键解放双手,自动完成B站所有日常任务
  • 东莞管道疏通上门怎么选?本地疏通靠谱团队TOP5 全方位分析 - 园子一号
  • 嘉兴管道疏通上门怎么选?本地疏通靠谱团队TOP5 全方位分析 - 园子一号
  • 如何用Equalizer APO打造Windows系统级音频均衡器:免费调音完整指南
  • 如何清理C盘?最全保姆级教程来啦!!!
  • 如何从零组建高效AI工程团队:实战指南与避坑清单
  • SpringBootWeb响应
  • 终极免费AI视频增强神器:Video2X让低清视频秒变4K超高清
  • Balena Etcher终极指南:3分钟掌握安全高效的镜像烧录技巧
  • 2026 苏州梅雨季漏水维修攻略|卫生间阴渗 / 外墙起皮 / 屋顶阴漏 / 地下室返潮 防水补漏公司推荐 - 房屋-修缮
  • 秋招8月窗口只剩30天:简历有实习经历,通过率是零经验的3-5倍
  • 椰林海鲜码头值得推荐吗? - 秋山寄远
  • 广州管道疏通上门怎么选?本地疏通靠谱团队TOP5 全方位分析 - 园子一号
  • Navicat试用期重置终极指南:Java工具一键清理注册表,轻松延长15天免费使用
  • Java面试题-kafka
  • 计算机单片机毕设实战-基于 51 单片机的火灾传感监测与液晶显示系统设计 基于单片机的多按键消防设备手动控制装置设计(017601)
  • 终极指南:3分钟解决Windows系统iPhone USB网络共享驱动安装难题
  • 163MusicLyrics:如何用一款开源工具彻底解决你的歌词管理难题