从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输

从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束.我写的程序是#include<stdio.h... 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束.
我写的程序是
#include <stdio.h>
#include <stdlib.h>
void main ()
{
char str[100];
int i;
FILE*fp;
if((fp=fopen("test.c","w")==NULL) )
{
printf("Can not open the file\n");
exit(0);
}
printf("请输入一组字符串");
scanf("%s",str);
printf("\n");
for(i=0;i!='!';i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i]=str[i]-('z'-'a');
fputc(str[i],fp);
getchar(str[i]);
}
fputc(str[i],fp);
getchar(str[i]);
}
fclose(fp);
}
哪里有不对的请指出
还有 对于读写文件 什么时候该用二进制 什么时候该用ASCII码 不是很清楚 希望有老师可以指点一下
展开
 我来答
kenjt
推荐于2016-02-08 · TA获得超过227个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:138万
展开全部
"str[i]=str[i]-('z'-'a');"
上面这句话应该不对吧?小写字母全部转换成大写字母就是对应ASCII码减32,你这个'z'-'a'的值是25.
另外赞同楼上说的“还可以按照常识,比如操作文本文件都用ascii,对于二进制文件,用二进制。 ”但这不是绝对的,文本文件用ascii,主要是这些信息本来就是以自然文本的形式表达,你用记事本打开这些ASCII码存储的文本,一目了然知道了想要反应的信息。如果按照二进制的方式读写这些本来要用ASCII码表达的东西,用记事本打开就只能看到乱码。但并不是说以二进制操作就不能正确获取内容。用二进制操作文本文件通常比用ASCII方式生成的文件要小得多。
大别山的蜗牛
高粉答主

2016-02-01 · 一只互联网搬运的蜗牛
大别山的蜗牛
采纳数:6928 获赞数:12024

向TA提问 私信TA
展开全部
#include<stdio.h>

void main()
{
char str[100];
FILE *p;
int i,len=0;
printf("输入一串英文字符:\n");
while((str[len]=getchar())!='!')
  {
  len++;
  }
for(i=0;i<len;i++)
  if(str[i]>='a'&&str[i]<='z')
    str[i]-=32;
p=fopen("c:\\test.txt","w");
fputs(str,p);
fclose(p);    
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
血刃小威y95
2014-07-02 · 超过69用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:177万
展开全部
#include <stdio.h>

void convert(char *str)
{
while (*str!='\0')
{
if (*str>='a' && *str<='z')
{
*str-=32;
}
*str++;
}
}

main()
{
FILE *fp;
char str[100];
fp = fopen("test.txt","w");
gets(str);
convert(str);
fputs(str,fp);
fclose(fp);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
update44
推荐于2017-12-16 · 超过25用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:71.9万
展开全部
什么时候用二进制,什么时候用ascii码,这个不好定论。
一方面根据你的需要,还可以按照常识,比如操作文本文件都用ascii,对于二进制文件,用二进制。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式