手动创建两个文本文件text1.txt,text2.txt,要求编程创建text3.txt,实现text1.txt和text2.txt文件中除去首行和末尾对应的数据相加,三个文本的内容如下
#include <stdio.h>
#define SIZE 10
int main()
{
FILE *fp1 = fopen("text1.txt","ab+");
if(fp1 == NULL)
{
perror("fopen");
return -1;
}
FILE *fp2 = fopen("text2.txt","ab+");
if(fp2 == NULL)
{
perror("fopen");
return -1;
}
FILE *fp3 = fopen("text3.txt","ab+");
if(fp3 == NULL)
{
perror("fopen");
return -1;
}
int ret1;
int ret2;
char buf1[SIZE] = {0};
char buf2[SIZE] = {0};
while(ret1 = fread(buf1,sizeof(char),1,fp1))
{
ret2 = fread(buf2,sizeof(char),1,fp2);
if(ret2 == 0 && !feof(fp2))
{
perror("fread");
return -1;
}
if( buf2[0] == buf1[0] && buf1[0] < '0' || buf2[0]> '9')
{
fwrite(buf1,sizeof(char),1,fp3);
}
if(buf1[0] >= '0' && buf1[0] <= '9'&& buf2[0] >= '0' && buf2[0] <= '9')
{
char tmp[1] = {0};
tmp[0] = buf1[0] + buf2[0] - '0';
fwrite(tmp, sizeof(char), 1, fp3);
}
}
if(ret1 == 0 && !feof(fp1))
{
perror("fread");
return -1;
}
close(fp1);
close(fp2);
close(fp3);
return 0;
}