//从键盘输入若干行字符(每行长度不相等),输入后把它们存储到一磁盘文件中。再从该文件中读入这些数据,将其中小写字母转换成大写字母后在显示屏上输出。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE* fp;
errno_t err;
char str[80], ch;
int i, find = 1;
if (err = fopen_s(&fp, "text.txt", "w"))
{
printf("can not open!\n");
exit(0);
}
while (find)
{
printf("input string:\n");
gets_s(str);
fputs(str, fp);
printf("continue?");
ch = getchar();
if ((ch == 'N') || (ch == 'n'))
find = 0;
getchar();
}
fclose(fp);
while (fgets(str, strlen(str)+1,fp)!=NULL)
{
for (i = 0; str[i] != '\0'; i++)
if (str[i] >= 'a' && str[i] <= 'z')
str[i] -= 32;
printf("%s\n", str);
}
fclose(fp);
return 0;
}
哪里不对?