从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件letter.dat中保存,输入的字符串以“#”结束。再从该文件中读取这些数据在显示屏上输出。源程序命名为ex2.c
时间: 2024-02-16 18:03:35 浏览: 31
以下是一个可以实现您需求的 C 语言程序 ex2.c:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
FILE *fp;
char ch;
// 打开文件 letter.dat 以写模式
fp = fopen("letter.dat", "w");
if (fp == NULL) {
printf("无法打开文件!\n");
return 1;
}
printf("请输入一个字符串(以 # 结束):");
// 读取输入的字符串,并将其中的小写字母转换成大写字母
while ((ch = getchar()) != '#') {
if (islower(ch)) {
ch = toupper(ch);
}
fputc(ch, fp);
}
// 关闭文件
fclose(fp);
// 重新打开文件 letter.dat 以读模式
fp = fopen("letter.dat", "r");
if (fp == NULL) {
printf("无法打开文件!\n");
return 1;
}
printf("\n从文件中读取的数据为:");
// 从文件中读取数据并输出到屏幕上
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
// 关闭文件
fclose(fp);
return 0;
}
```
程序流程如下:
1. 打开文件 letter.dat 以写模式。
2. 提示用户输入一个字符串,并逐个读取字符。
3. 如果读取的字符是小写字母,则将其转换成大写字母,然后将其写入文件 letter.dat 中。
4. 当读取到输入的字符串的结尾符号 # 时,停止读取并关闭文件。
5. 重新打开文件 letter.dat 以读模式。
6. 从文件中读取数据并输出到屏幕上。
7. 关闭文件并结束程序。
注意,此程序需要包含头文件 stdio.h 和 ctype.h。