计算机C语言,文件,while循环,死循环了求助
第二个while循环成了死循环,出不来,求助错在哪儿?怎么改?文件是录入成功的,所以第一个fopen到发fclose应该都没问题,第二个while出不来,是检测不到文件结...
第二个while循环成了死循环,出不来,求助错在哪儿?怎么改? 文件是录入成功的,所以第一个fopen到发fclose应该都没问题,第二个while出不来,是检测不到文件结束吗?为什么?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
FILE *fp;
if((fp=fopen("F:\\study\\unit10\\text3.txt","w"))==NULL){
printf("can not open the file.");
exit(0);
}
char str[20],c;
int flag=1;
while(flag==1) {
printf("input string:\n");
gets(str);
fprintf(fp,"%s",str);
printf("continue?");
c=getchar();
if((c=='N')||(c=='n')) flag=0;
getchar();
}
fclose(fp);
fp=fopen("F:\\study\\unit10\\text3.txt","r");
//fgets(str,3,fp);
//puts(str);
while(fscanf(fp,"%s",str)!=EOF){
for(int i=0;str[i]!='0';i++)
if((str[i]>='a')&&(str[i]<='z'))
str[i]-=32;
puts(str);
}
fclose(fp);
return 0;
} 展开
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
FILE *fp;
if((fp=fopen("F:\\study\\unit10\\text3.txt","w"))==NULL){
printf("can not open the file.");
exit(0);
}
char str[20],c;
int flag=1;
while(flag==1) {
printf("input string:\n");
gets(str);
fprintf(fp,"%s",str);
printf("continue?");
c=getchar();
if((c=='N')||(c=='n')) flag=0;
getchar();
}
fclose(fp);
fp=fopen("F:\\study\\unit10\\text3.txt","r");
//fgets(str,3,fp);
//puts(str);
while(fscanf(fp,"%s",str)!=EOF){
for(int i=0;str[i]!='0';i++)
if((str[i]>='a')&&(str[i]<='z'))
str[i]-=32;
puts(str);
}
fclose(fp);
return 0;
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询