标题:如何利用C程序有规律的合并两个文本文件!
只看楼主
hxwj
Rank: 2
等 级:论坛游民
帖 子:74
专家分:34
注 册:2016-12-8
结帖率:57.14%
已结贴  问题点数:20 回复次数:3 
如何利用C程序有规律的合并两个文本文件!
有A.txt和B.txt两个文档,如何将B文档的每5行内容插入到A文档的每一行的下方!形成一个新文档
比如 A文档内容
123456.
花样百出.
B文档内容
a
b
c
d
e
g
h
i
j

合并后文档
123456.
a
b
c
d
e
花样百出.
f
g
h
i
j


搜索更多相关主题的帖子: txt 合并 文本文件 文档 内容 
2019-11-19 08:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
给出你的代码,说出你哪里不会。
2019-11-19 09:15
hxwj
Rank: 2
等 级:论坛游民
帖 子:74
专家分:34
注 册:2016-12-8
得分:0 
回复 2楼 rjsp
都不知道如何定下一行,或者连续选取五行!
2019-11-19 09:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用hxwj在2019-11-19 09:51:08的发言:

都不知道如何定下一行,或者连续选取五行!
我也听不懂你在说什么
给你个示例吧
程序代码:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool insert_line_to( FILE* src, FILE* dst )
{
    for( bool bwrote=false; ; )
    {
        char buf[1024+1]; // 行缓冲,确保其不小于2
        char* p = fgets( buf, sizeof buf, src );
        if( !p )
        {
            if( bwrote )
            {
                fputc( '\n', dst );
                return true;
            }
            return false;
        }

        fputs( buf, dst );
        bwrote = true;

        if( buf[strlen(buf)-1] == '\n' )
            return true;
    }
}

size_t insert_lines_to( FILE* src, FILE* dst, size_t count )
{
    for( size_t r=0; r!=count; ++r )
        if( !insert_line_to(src,dst) )
            return r;
    return count;
}

int main( void )
{
    FILE* fa = fopen( "a.txt", "r" );
    FILE* fb = fopen( "b.txt", "r" );
    FILE* fc = fopen( "c.txt", "w" );

    for( ; ; )
    {
        size_t a = insert_lines_to( fa, fc, 1 );
        size_t b = insert_lines_to( fb, fc, 5 );
        if( a!=1 && b!=5 )
            break;
    }

    fclose( fc );
    fclose( fb );
    fclose( fa );
}

2019-11-19 10:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497921-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175858 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved