文件函数的简单问题
程序代码:#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);
}
/*另外就是运行问题了,怎么输入数据后,就没反应了呢,创建的文件里是空的,不知道咋回事,指教下!







