从键盘输入一个字符串,将其中的小写字母转化成大写字母,然后输出到一个磁盘文件letter.dat中保存,输入字符串以‘#’结束,再从该文件中读取这些数据再显示屏上输出,源程序命名为ex2.c 请用C语言输出
时间: 2024-02-16 08:03:23 浏览: 64
好的,这是一个字符串操作的问题。下面是 C 语言的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char s;
FILE *fp;
// 从键盘输入字符串并转化为大写字母,并保存到磁盘文件
fp = fopen("letter.dat", "w");
if (fp == NULL) {
printf("打开文件失败!");
exit(1);
}
while ((s = getchar()) != '#') {
s = toupper(s); // 将小写字母转化为大写字母
fputc(s, fp);
}
fclose(fp);
// 从磁盘文件中读取内容并显示在屏幕上
fp = fopen("letter.dat", "r");
if (fp == NULL) {
printf("打开文件失败!");
exit(1);
}
while ((s = fgetc(fp)) != EOF) {
putchar(s);
}
fclose(fp);
return 0;
}
```
这段代码同样分为两部分,第一部分从键盘读入字符串,并将其中的小写字母转化为大写字母,逐个写入到名为 `letter.dat` 的文件中,直到输入 `#` 终止输入。第二部分从同一个文件中读取内容,并打印到屏幕上。
需要注意的是,这里使用了 `toupper()` 函数将小写字母转化为大写字母,同时需要检查文件是否打开成功,否则会输出错误信息并退出程序。