主题:我的程序那里错了
#include<stdio.h>
#include<string.h>
#include<cstring>
int main()
{
FILE *fp1,*fp2; //定义两个文件指针指向A、B两个文本
int ch[2000],ch2[1000];
char filename1[20],filename2[20]; //输入两个文本的文件名
printf("输入要被包含进去的文本文件名:");
scanf("%s",filename1);
printf("输入将%s文本包含的文件名:",filename1);
scanf("%s",filename2);
if((fp1=fopen(filename1,"r"))==NULL) //以只读方式打开文本A
{
printf("打开文件%s失败,程序自动退出\n",filename1);
return 0;
}
if((fp2=fopen(filename2,"r"))==NULL) //以只读方式打开文本A
{
printf("打开文件%s失败,程序自动退出\n",filename2);
return 0;
}
char p[20]; //定义一个字符串,方便在文本中查找
sprintf(p,"#include\"%s\"",filename1); //将#include<filename1>格式化输入到数组p中
int num=strlen(p); //算出字符串的长度
int i=0,b,j;
while((ch[i]=fgetc(fp2))!=EOF) //开始读文本B中的内容到数组中
{
if(ch[i]=='#')
b=i;
{
for(j=0;j<=num;b++,j++)
ch2[j]=ch[b];
while(strcmp(ch2,p)==0&&ch[b]=fgetc(fp1)!=EOF)
{
b++;
i=b;
}
}
i++;
}
int n=1
fclose(fp1);
fclose(fp2);
if((fp2=fopen(filename2,"w")==NULL)
{
printf("打开文件失败,程序自动退出\n");
return 0;
}
for(i=0;i<n;i++)
{
fputc(ch[i],fp2);
}
putchar(ch[i]);
printf("\n");
fclose(fp2);
return 0;
}
#include<string.h>
#include<cstring>
int main()
{
FILE *fp1,*fp2; //定义两个文件指针指向A、B两个文本
int ch[2000],ch2[1000];
char filename1[20],filename2[20]; //输入两个文本的文件名
printf("输入要被包含进去的文本文件名:");
scanf("%s",filename1);
printf("输入将%s文本包含的文件名:",filename1);
scanf("%s",filename2);
if((fp1=fopen(filename1,"r"))==NULL) //以只读方式打开文本A
{
printf("打开文件%s失败,程序自动退出\n",filename1);
return 0;
}
if((fp2=fopen(filename2,"r"))==NULL) //以只读方式打开文本A
{
printf("打开文件%s失败,程序自动退出\n",filename2);
return 0;
}
char p[20]; //定义一个字符串,方便在文本中查找
sprintf(p,"#include\"%s\"",filename1); //将#include<filename1>格式化输入到数组p中
int num=strlen(p); //算出字符串的长度
int i=0,b,j;
while((ch[i]=fgetc(fp2))!=EOF) //开始读文本B中的内容到数组中
{
if(ch[i]=='#')
b=i;
{
for(j=0;j<=num;b++,j++)
ch2[j]=ch[b];
while(strcmp(ch2,p)==0&&ch[b]=fgetc(fp1)!=EOF)
{
b++;
i=b;
}
}
i++;
}
int n=1
fclose(fp1);
fclose(fp2);
if((fp2=fopen(filename2,"w")==NULL)
{
printf("打开文件失败,程序自动退出\n");
return 0;
}
for(i=0;i<n;i++)
{
fputc(ch[i],fp2);
}
putchar(ch[i]);
printf("\n");
fclose(fp2);
return 0;
}