c语言文件结束,c语言如何判断文件结束

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#define N 1000

int split(char *filename,char words[][20])

{

FILE *fp;

int i=0,j=0,k;

char ch;

if((fp=fopen(filename,"r"))==NULL)

{

printf("源文件读取失败。\n");

return 0;

exit(1);

}

ch= fgetc(fp);

while(!feof(fp))

{

if(ch>='A'&&ch<='Z') {ch+=32;}

if(ch>='a'&&ch<='z') {words[i][j]=ch;j++;}

else

{

words[i][j]='\0';

j=0;

i++;

}

ch=fgetc(fp);

}

fclose(fp);

for(k=0;k<=i;k++) printf("%s\n",words[k]);

return i;

}

int write(char *filename,char words[][20],int n)

{

int i;

FILE *fp1;

if((fp1=fopen(filename,"w"))==NULL)

{

printf("目标文件创建失败.");

return 0;

exit(1);

}

for(i=0;i<=n;i++) fprintf(fp1,"%s\n",words[i]);

printf("目标文件创建成功!\n");

fclose(fp1);

return 1;

}

void main()

{

char words[N][20];

int k;

k=split("C:\\Users\\admin\\Desktop\\a.txt",words);

write("C:\\Users\\admin\\Desktop\\a1.txt",words,k);

}