这个文件"写"出了什么错误?为什么没有输出结果?[附源代码]
azhen 2005-11-16 10:40:41 这段源代码执行之后,为什么屏幕没有打印出c.txt文件中的信息内容呢?
//########################源代码############################
/*
有两个文件a.txt,b.txt.a.txt中存储的是aaaaaa,b.txt中存储的是bbb。
将两个文件合并成c.txt如果是a并b的话存储为abababaaa.
要是b并a 的话就是bababaaaa.用c语言编程实现。
*/
#include<stdlib.h>
#include<stdio.h>
#define File FILE
File *fileMerge(File *a, File *b, File *c)/* 将ab两个文件和并到c文件中*/
{
char ca, cb;
ca=fgetc(a);
cb=fgetc(b);
while(ca!=EOF && cb!=EOF)
{
fputc(ca, c);
fputc(cb, c);
ca=fgetc(a);
cb=fgetc(b);
}
while(cb!=EOF){
fputc(cb, c);
cb=fgetc(b);
}
while(ca!=EOF){
fputc(ca, c);
ca=fgetc(a);
}
return c;
}
void print_file(File *f) /* 打印文件内容 */
{
char file_line[256];
while(fgets(file_line, 256, f)!=NULL){
fprintf(stdout, "%s", file_line);
}
}
int main(int argc, char *argv[])
{
File *a=fopen("a.txt", "r");
File *b=fopen("b.txt", "r");
File *c=fopen("c.txt", "wr");
fileMerge(a, b, c); /*a.txt, b.txt合并到c.txt中*/
print_file(c); /* 打印出c.txt中的内容 */
fclose(a);
fclose(b);
fclose(c);
system("pause");
}