c語言把兩個文件合併,2個c語言程序合併在一起

本文目錄一覽:

C語言問題:有兩個磁碟文件A和B,各存放一行字母,要求把這兩個文件中的信息合併,輸出到一個新文件C.

#includestdio.h

#includestdlib.h

int main(){

FILE *fp;

char text[50],ch;

int i,j;

if((fp=fopen(“A”,”r”))==NULL){

printf(“cannot open this file A \n”);

exit(0);

}

for(i=0;(ch=fgetc(fp))!=EOF;i++){

text[i]=ch;

putchar(ch);

}

fclose(fp);

f((fp=fopen(“B”,”r”))==NULL){

printf(“cannot open this file B \n”);

exit(0);

}

for(j=i;(ch=fgetc(fp))!=EOF;j++){

text[j]=ch;

putchar(ch);

}

fclose(fp);

fp=fopen(“c”,”w+”);

for(i=0;ij;i++){

fputc(text[i],fp);

putchar(text[i]);

}

fclose(fp);

}

C語言文件合併

設A.txt和B.txt都在當前目錄下,讀打開A.txt和B.txt,寫打開C.txt。按字元循環讀取A.txt文件一行並逐字元寫入C.txt文件,但當讀到’\n’時不寫入\n’而啟動另一內循環按字元讀取B.txt文件的一行並逐字元寫入C.txt文件,當寫入’\n’後跳出內循環停止讀取B.txt文件轉而再去讀A.txt文件的下一行……如此反覆,直到遇到A.txt文件的EOF時結束。代碼如下:

//#include “stdafx.h”//If the vc++6.0, with this line.

#include “stdio.h”

#include “stdlib.h”

int main(void){

    FILE *fpa,*fpb,*fpc;

    char ch;

    fpa=fopen(“A.txt”,”r”);

    fpb=fopen(“B.txt”,”r”);

    fpc=fopen(“C.txt”,”w”);

    if(!fpa || !fpb || !fpc){

        printf(“Open the file(s) failure…\n”);

        exit(0);

    }

    while((ch=fgetc(fpa))!=EOF){

        if(ch==’\n’)

            while(fputc(ch=fgetc(fpb),fpc),ch!=’\n’  ch!=EOF);

        else fputc(ch,fpc);

    }

    fclose(fpc);

    fclose(fpb);

    fclose(fpa);

    return 0;

}

c語言合併兩個文件

完整代碼如下,有任何疑問可以追問。

#include stdio.h

#include stdlib.h

int merge(char *in1,char *in2,char *out)

{

    FILE *f_in,*f_out;

    int n;

    char buf[4096];

    //打開輸出文件

    f_out=fopen(out,”wb”);

    if(!f_out) return 0;

    //打開並讀第一個文件寫到輸出文件

    f_in=fopen(in1,”rb”);

    if(!f_in) return 0;

    while(n=fread(buf,1,sizeof(buf),f_in))

    {

         fwrite(buf,1,n,f_out);

    }

    fclose(f_in);

    //打開並讀第二個文件寫到輸出文件

    f_in=fopen(in2,”rb”);

    if(!f_in) return 0;

    while(n=fread(buf,1,sizeof(buf),f_in))

    {

        fwrite(buf,1,n,f_out);

    }

    fclose(f_in);

    fclose(f_out);

    return 1;

}

int main()

{

    if (!merge (「1.txt」, 「2.txt」, 「3.txt」))

        printf(「Failed」);

    else

        printf(「successfully」);

    return 0;

}

怎麼把兩個不同程序合到一起?(c語言)

你問的問題好大,要合併兩份獨立的c語言代碼,

第一,要把兩份代碼里的main入口合併為一個,

如何合併要看你期望合併後的main函數實現什麼樣的功能,

例如,A程序是實現計算一個數組裡的所有數相加後的和的值的功能;

B程序是實現輸出任意數字到一個txt文件的功能。那麼合併A和B程序後,

一般就是將B程序里的main函數里的實現內容追加到A程序里的main函數的實現內容之後,

就算是合併後的main函數的內容了。

希望你具體問題具體分析。

第二,合併過程中要確認兩份代碼有沒有標識符命名上的重複的問題。

例如兩份代碼里的公開函數名有沒有相同的,如果相同的話肯定要改成不同的。

第三,在確認了前兩點後,接著確認編譯鏈接不出錯。

第四,鏈接成功後,確認運行動作是否符合期望。

當然,實際項目中合併兩份代碼,往往不是上面這樣做了就可以了。還涉及到兩個程序中的功能的合併之類的比較複雜的工作。實踐出真知,希望你多做項目來收穫心得。

C語言文件怎樣合併?

#include \x0d\x0aconst int MAX_SIZE_PER_LINE = 1024;\x0d\x0a\x0d\x0aint main(int argc, char *argv[])\x0d\x0a{\x0d\x0a FILE * file_a,*file_b,*file_c;\x0d\x0a char buffer[MAX_SIZE_PER_LINE*2];\x0d\x0a file_a = fopen(“a.txt”,”r”);\x0d\x0a file_b = fopen(“b.txt”,”r”);\x0d\x0a file_c = fopen(“c.txt”,”w”);\x0d\x0a while(NULL != fgets(buffer ,MAX_SIZE_PER_LINE,file_a))\x0d\x0a {\x0d\x0a //不是最後一行肯定會有換行符,消除這個換行符 \x0d\x0a if(‘\n’ == buffer[strlen(buffer)-1]) \x0d\x0a fgets(buffer+strlen(buffer)-1 ,MAX_SIZE_PER_LINE,file_b);\x0d\x0a //對於最後一行可能沒有換行符的情況特殊處理 \x0d\x0a else\x0d\x0a fgets(buffer+strlen(buffer) ,MAX_SIZE_PER_LINE,file_b); \x0d\x0a fputs(buffer,file_c); \x0d\x0a }\x0d\x0a fclose(file_a);\x0d\x0a fclose(file_b);\x0d\x0a fclose(file_c); \x0d\x0a return 0;\x0d\x0a}\x0d\x0a\x0d\x0a/*\x0d\x0aA.txt : \x0d\x0a——-\x0d\x0aaa*\x0d\x0abb*\x0d\x0acc*\x0d\x0add*\x0d\x0aee*\x0d\x0aff*\x0d\x0agg*\x0d\x0a\x0d\x0aB.txt : \x0d\x0a——-\x0d\x0a11\x0d\x0a22\x0d\x0a33\x0d\x0a44\x0d\x0a55\x0d\x0a66\x0d\x0a77\x0d\x0a\x0d\x0aC.txt :\x0d\x0a——-\x0d\x0aaa*11\x0d\x0abb*22\x0d\x0acc*33\x0d\x0add*44\x0d\x0aee*55\x0d\x0aff*66\x0d\x0agg*77 \x0d\x0a\x0d\x0a說明: A.txt 和 B.txt 要放在可執行程序同一個目錄下。C.txt 會自動在這個目錄下生成。 \x0d\x0a*/

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199006.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 19:13
下一篇 2024-12-04 19:13

相關推薦

  • 利用Python實現兩個鏈表合併為一個有序鏈表

    對於開發工程師來說,實現兩個鏈表合併為一個有序鏈表是必須掌握的技能之一。Python語言在鏈表處理上非常便利,本文將從多個方面詳細闡述如何利用Python實現兩個鏈表合併為一個有序…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論