主题:求助:乱码又见乱码
好郁闷啊,为什么我一碰到字符有关的编程就会遇上乱码,求大侠指点!
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。
以下是我写的代码,乱码见图片:
[code=c]
#include <stdio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
char str[100];
int i=0;
if((fp=fopen("test","w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
printf("Input a string:\n");
gets(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("test","r");
fgets(str,sizeof(str)+1,fp);
printf("%s\n",str);
fclose(fp);
} [/code]
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。
以下是我写的代码,乱码见图片:
[code=c]
#include <stdio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
char str[100];
int i=0;
if((fp=fopen("test","w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
printf("Input a string:\n");
gets(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("test","r");
fgets(str,sizeof(str)+1,fp);
printf("%s\n",str);
fclose(fp);
} [/code]