文件的读取与写入(C代码)

更新时间:2023-04-05 11:19:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

文件的读取与写入(C代码)

#include

#include

#include

int main()

{

FILE *fp1,*fp2; //定义两个文件指针指向A、B两个文本

char ch[2000],ch2[1000],p[20];

int i=0,b=0,j=0,n=0,num=0;

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;

}

//定义一个字符串,方便在文本中查找

sprintf(p,"#include\"%s\"",filename1); //将#include格式化输入到数组p中

num=strlen(p); //算出字符串的长度

while((ch[i]=fgetc(fp2))!=EOF) //开始读文本B中的内容到数组中

i++;

ch[i++]='\0';

rewind(fp2);

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++;

}

n=i;

fclose(fp1);

fclose(fp2);

if((fp2=fopen(filename2,"w"))==NULL) {

printf("打开文件失败,程序自动退出\n"); return 0;

}

for(i=0;i

{

fputc(ch[i],fp2);

}

putchar(ch[i]);

printf("\n");

fclose(fp2);

return 0;

}

本文来源:https://www.bwwdw.com/article/ycdl.html

Top