本文主要是介绍题10.3:从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存,输入的字符串以“感叹号”结束。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
本题是谭浩强《C程序设计课后习题》题10.3。
题目:
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存,输入的字符串以“!”结束。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
本题考查对文件的基本操作
1,关于文件类型的题目,第一步我们应该先把框架搭建出来
FILE* fp = NULL;//定义文件指针fp
fp = fopen(“test.txt”, “w”);//打开函数,w是以写方式,会创建test文件
if (NULL == fp)//判断是否打开失败,如果失败就输出错误并结束
{
printf(“error”);
return -1;
}
fclose(fp);//文件指针的关闭
2,然后按照题目要求,进行输入数据并转变
while ((ch = getchar()) != ‘!’ && ch != EOF)//当读取到!或者EOF(文件结束标志,一般是ctrl+z)时,读取结束
if (ch >= ‘a’ && ch <= ‘z’)
ch -= 32;//只把大写转为小写
3,当这些都进行完后,在输入数据时大家需要注意:这个循环有两个条件,第一个条件是遇到!就停止,也就是在输入!后按回车键即可完成操作(需要注意的一点是!需要在英文状态下输入,不然没有效果);第二个条件是遇到EOF停止,windows下,在输入的空行位置,按ctrl+z可产生EOF,linux下,在输入时,按ctrl+d可产生EOF 。也就是说在你输入完最后一个字符后,按回车然后按ctrl+z后再按回车,程序才停止运行。
4,当程序执行完后,需要找到源程序的文件夹,找到test.txt文件,转换后的内容打开即可查看。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int main()
{FILE* fp = NULL;fp = fopen("test.txt", "w");if (NULL == fp){printf("error");return -1;}char ch;while ((ch = getchar()) != '!' && ch != EOF)//当读取到!或者EOF(文件结束标志,一般是ctrl+z)时,读取结束{if (ch >= 'a' && ch <= 'z')ch -= 32;//只把大写转为小写fputc(ch, fp);}fclose(fp);return 0;
}
三、执行结果
输入:
albb!
这篇关于题10.3:从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存,输入的字符串以“感叹号”结束。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!