C语言程序如何合并?
发布网友
发布时间:2022-04-19 09:47
我来回答
共1个回答
热心网友
时间:2023-06-29 22:26
#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*/