文件类程序的调试!没达到预期效果
一下代码是实现一个字符串把小写字符变成大写然后输入到磁盘文件test中去!我在E盘上建了个test.txt空文件!但我在调试这个代码时(vc++6.0)输出的结果已经是达到了要求!但是我打开文件时却发现文件test.txt中没结果啊!不知道怎么回事?请给解释一下!谢过程序代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> void main() { FILE *fp; char str[20]; int i=0; printf("请输入一行字符串:\n"); gets(str); if((fp=fopen("test.txt","w"))==NULL) { printf("cannot open file\n"); exit(0);/*终止程序*/ } while(str[i]!='!'&&str[i]!='\0') { if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32;/*转化为大写字母*/ fputc(str[i],fp); i++; } fclose(fp); fp=fopen("test.txt","r"); fgets(str,strlen(str)+1,fp); printf("%s\n",str); fclose(fp); }