帮我看看什么问题!!
程序目的是输入若干行不同长度字符,把它们存入文件,再从文件中调用这些数据,把小写字母换成大写..但是我输入2行以上的字符后,结果显示每行字符长度相同,都是把前面一行最后几个字符放到了下面一行输入,不知道怎么回事!!帮忙看下!!#include<stdio.h>
main()
{char str[50],c;
int i,j,flag=1;
FILE *fp;
fp=fopen("text","w");
while(flag==1)
{printf("Input string:");
gets(str);
fwrite(str,strlen(str),1,fp);
printf("contiue or not(Y/N)?");
c=getchar();
getchar();
if(c=='n'||c=='N')
flag=0;
}
fclose(fp);
fp=fopen("text","r");
for(i=0;fread(str,strlen(str),1,fp)==1;i++)
{for(j=0;j<strlen(str);j++)
if(str[j]>='a'&&str[j]<='z')
str[j]=str[j]-32;
puts(str);
}
fclose(fp);
}