首页 > 编程语言 >编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名. a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,打印到行数

编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名. a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,打印到行数

时间:2024-08-04 23:38:33浏览次数:7  
标签:文件 str 第二行 打印 file printf buff

/编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名.
a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,打印到行数较多文件的最后一行
b.修改程序,把行号相同的行打印成一行
/

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
void printf_a(FILE *file_name, FILE *file_name2)
{
    char buff[256],str[256];
    int lien=1;
    while(1)
    {
        char *count=fgets(buff,sizeof(buff),file_name);
        char *count2=fgets(str,sizeof(str),file_name2);
        printf("printf_a\n");
        if(count && count2)
        {
            printf("line:%d file:%s\n",lien,buff);
            printf("line:%d file2:%s\n",lien,str);
        }
        else
        {
            break;
        }
        lien++;
    }
}
void printf_b(FILE *file_name, FILE *file_name2)
{
    char buff[256],str[256];
    int lien=1;
    while(1)
    {
        char *count=fgets(buff,sizeof(buff),file_name);
        char *count2=fgets(str,sizeof(str),file_name2);
        if(count &&count2)
        {
            printf("printf_b:line:%d file:%s file2:%s\n",lien,buff,str);
        }
        else
        {
            break;
        }
        lien++;
    }
}
int main(int argc,char *argv[])
{
    printf("please enter [./可执行文件] [文件名1] [文件名2]\n");
    if(argc!=3)
    {
        return 0;
    }
    FILE *fd=fopen(argv[1],"r");
    FILE *fd2=fopen(argv[2],"r");
    assert(fd);
    assert(fd2);
    printf_a(fd,fd2);
    rewind(fd);
    rewind(fd2);
    printf_b(fd,fd2);
    return 0;
}

标签:文件,str,第二行,打印,file,printf,buff
From: https://www.cnblogs.com/yesiming/p/18342420

相关文章

  • Linux中的目录结构和文件管理学习
    目录Linux的目录结构文件的查看和检索catmorelessheadtailgrep文件的压缩和解压缩压缩命令解压缩命令归档命令vim文本编辑器文本编辑器的作用文本编辑器的三种模式命令模式末行模式编辑模式Linux的目录结构/root:管理员的宿主(家)目录。/home:普通用户的......
  • 如何使用Tar命令在Linux系统中解压各种文件格式
    如何使用Tar命令在Linux系统中解压各种文件格式大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!tar命令是Linux系统中一个非常强大的工具,主要用于归档和压缩文件。它支持多种压缩格式,如.tar、.gz、.bz2、.xz等。本文将详细介绍如何使用tar命令解压各......
  • 突破PyCharm索引瓶颈:提升文件索引速度的策略
    突破PyCharm索引瓶颈:提升文件索引速度的策略PyCharm作为Python开发者的首选IDE,以其强大的功能和灵活的配置而广受好评。然而,当处理大型项目或复杂文件结构时,文件索引慢的问题可能会显著降低开发效率。本文将提供一系列优化技巧和解决方案,帮助开发者在PyCharm中解决文件索引......
  • 无缝编码体验:在PyCharm中高效使用远程文件编辑功能
    标题:无缝编码体验:在PyCharm中高效使用远程文件编辑功能引言PyCharm作为业界领先的集成开发环境(IDE),提供了强大的本地和远程开发功能。其中,远程文件编辑功能允许开发者直接在PyCharm中编辑存储在远程服务器上的文件,极大地提高了开发效率和便捷性。本文将详细介绍如何在PyCha......
  • go-zero微服务框架的静态文件服务
    目录go-zero微服务框架的静态文件服务应用场景go-zero版本新建项目目录新建demo.api文件生成api代码新建静态1.html文件查看文件目录写入静态服务代码启动api服务访问1.html参考文档go-zero微服务框架的静态文件服务应用场景通过go-zero的rest.WithFileServer("/public",......
  • 断电引起redo和数据文件不一致故障恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:断电引起redo和数据文件不一致故障恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有些时候故障总是来的让人非常意外,这个在准备停机迁移数据库之前的几分钟由于某种原因直接导......
  • 多玩模拟器vorbisfile.dll文件丢失的全面解析:原因分析及修复办法汇总
    有朋友表示不知道多玩模拟器vorbisfile.dll文件丢失是怎么回事,那么今天就为大家详细介绍一下多玩模拟器vorbisfile.dll文件丢失的原因和处理办法,千万别错过。vorbisfile.dll是一个动态链接库(DLL)文件。它通常与音频处理相关,特别是和OggVorbis音频格式的使用有关。OggVorb......
  • ccwkrlib.dll文件怎么下载和安装,ccwkrlib.dll文件缺失的一键修复
    ccwkrlib.dll是一个在Windows系统中使用的动态链接库文件。它可能是某个软件或程序正常运行所必需的组件。动态链接库(DLL)文件是包含可由多个程序同时使用的代码和数据的库。许多应用程序并不是一个完整的可执行文件,它们被分割成相对独立的动态链接库,放置于系统中。当执行某......
  • 计算机找不到w32n55.dll怎么办,一站搞定w32n55.dll文件缺失问题
    w32n55.dll是一个动态链接库文件。它常与锐捷认证相关,在一些使用路由器登录锐捷校园网的场景中可能会被用到。那么有朋友遇到w32n55.dll文件丢失找不到是怎么回事呢?下面就来一起看看吧。w32n55.dll文件的作用:网络认证支持:协助完成特定的网络认证流程,如锐捷网络认证。......
  • 火蜂精灵模拟器运行报错msvcr100.dll丢失:火蜂精灵模拟器缺失dll文件的修复办法
    有用户在运行火蜂精灵模拟器时碰到了msvcr100.dll丢失的问题,这是怎么回事呢?我们知道msvcr100.dll 是MicrosoftVisualC++2010Redistributable运行库的一部分,许多应用程序依赖于这个运行库中的函数和资源来正常运行。当火蜂精灵模拟器提示“msvcr100.dll丢失”时,意味着......