文件函数的简单问题
程序代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> void main() { FILE *fp; char filename[20]; char str[100]; int i=0; printf("please input filenanme:\n"); scanf("%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("file can not open!\n"); exit(0); } printf("pelase input string!\n"); scanf("%s",str); while(str[i]!='!') { if(str[i]>='a'&&str[i]<='z') { str[i]=str[i]-32; } fputc(str[i],fp); i++; } fclose(fp); fp=fopen(filename,"r"); fgets(str,strlen(str)+1,fp);//strlen(str)计算的是有效字符长度,再加上一个'\0',如果只是strlen(str)的话,实际上会少得到一个字符,是不是这样的呢? printf("%s\n",str); fclose(fp); } /*另外就是运行问题了,怎么输入数据后,就没反应了呢,创建的文件里是空的,不知道咋回事,指教下!