问题比较简单,就不过多描述了。有两点需要注意的地方,第一:大写字母和小写字母相差32;第二,scanf函数中格式控制字符串不能是中文,否则会陷入死循环!!!找这个bug花了很多时间
/*----------------------------------------------------
从键盘输入一个字符串,并将其中的小写字母全部转化为大
写字母,并将结果存储到E:test.txt文件中
-----------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char string[100];
FILE *fp;
if((fp = fopen("E:test.txt","w")) == NULL)
{
printf("打开文件失败!");
exit(0);
}
printf("请输入字符串:");
scanf("%s",string);
for(i = 0;string[i] != '0';i++)
{
if(string[i] >= 'a' && string[i] <= 'z')
{
string[i] = string[i] - 32;
}
fputc(string[i],fp);
}
printf("转换后的字符串为:%sn",string);
}
运行结果