日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用C语言解决文件合并问题

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用C语言解决文件合并问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目一:文件合并問題
(1)問題描述
有兩個磁盤文件A和B,各存放一串字母,要求把這兩個文件中的信息合并,輸出到一個新文件C中。
(2)算法分析
在.cpp所在的文件夾里建立A.doc和B.doc,并向其中輸入字母,再編寫一個用于輸出文件內容的程序,將文件信息合并。
(3)源代碼
磁盤文件A:

#include <stdio.h> void main( ) { FILE *fp; /* 定義一個文件指針變量fp */ int c; /* c為存放字符的變量 */ char filename[40]; /* filename用于存放數據文件名 */ printf("filename: ");/* 提示輸入磁盤文件名 */gets(filename); if ((fp=fopen(filename,"w"))==NULL){ printf("Can't open the %s\n", filename); return;}while ((c=getchar( ))!=EOF) /*鍵盤文件結束標志:輸入Ctrl+z,顯示^Z后回車*/putc(c, fp); /* 將鍵盤輸入的字符寫到文件中*/fclose(fp); /* 建立文件結束,關閉文件 */ printf("outfile:\n");fp=fopen(filename,"r"); /* 以讀方式打開文本文件 */while ((c=getc(fp))!=EOF) /* 未讀到文件結束標志時 */putchar(c); /* 在顯示器顯示讀出的字符 */fclose(fp); /* 讀文件結束,關閉文件 */}

磁盤文件B:

#include <stdio.h> void main( ) { FILE *fp; /* 定義一個文件指針變量fp */ int c; /* c為存放字符的變量 */ char filename[40]; /* filename用于存放數據文件名 */ printf("filename: ");/* 提示輸入磁盤文件名 */gets(filename); if ((fp=fopen(filename,"w"))==NULL){ printf("Can't open the %s\n", filename); return;}while ((c=getchar( ))!=EOF) /*鍵盤文件結束標志:輸入Ctrl+z,顯示^Z后回車*/putc(c, fp); /* 將鍵盤輸入的字符寫到文件中*/fclose(fp); /* 建立文件結束,關閉文件 */ printf("outfile:\n");fp=fopen(filename,"r"); /* 以讀方式打開文本文件 */while ((c=getc(fp))!=EOF) /* 未讀到文件結束標志時 */putchar(c); /* 在顯示器顯示讀出的字符 */fclose(fp); /* 讀文件結束,關閉文件 */}

合并A、B文件:

#include"stdio.h" #include"stdlib.h" void main() { FILE *fp; int i,j, n,i1; char c[100],t,ch; if((fp=fopen("a1","r"))==NULL) { printf("Can not open the file\n"); exit(0); } printf("\n file A:\n"); for(i=0;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); } fclose(fp); i1=i; if((fp=fopen("b1","r"))=NULL) {printf("\n Can not open the file"); exit(0); } printf("\n file B:\n"); for(i=i1;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); } fclose(fp); n=i; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(c[i]>c[j]) {t=c[i]; c[i]=c[j]; c[j]=t; } printf("\n file C:\n"); fp=fopen("c1","w"); for(i=1;i<n;i++) {putc(c[i],fp); putchar(c[i]); } fclose(fp); }

運行結果:

總結

以上是生活随笔為你收集整理的用C语言解决文件合并问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。