用C语言实现:从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以回车结束
时间: 2024-03-12 09:46:20 浏览: 72
好的,以下是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
FILE *fp;
// 从键盘输入字符串
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
// 将小写字母转换成大写字母
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
}
// 将字符串写入磁盘文件
fp = fopen("test", "w");
if (fp == NULL) {
printf("打开文件失败!\n");
return 1;
}
fprintf(fp, "%s", str);
fclose(fp);
printf("转换后的字符串已保存到文件 test 中!\n");
return 0;
}
```
代码解释:
1. 首先定义了一个字符数组 `str` 和一个文件指针 `fp`。
2. 使用 `fgets` 从键盘输入字符串,`fgets` 会在读取到回车时停止,所以不需要额外处理回车。
3. 使用 `islower` 判断字符是否为小写字母,如果是则使用 `toupper` 将其转换为大写字母。
4. 使用 `fopen` 打开文件,如果失败则输出错误信息并退出程序。
5. 使用 `fprintf` 将转换后的字符串写入文件中。
6. 使用 `fclose` 关闭文件,并输出保存成功的信息。
注意事项:
1. 如果要在 Windows 上运行该程序,请修改打开文件时的参数为 `"wb"`,即将 `"w"` 改成 `"wb"`,这是因为 Windows 和 Linux 的文本文件换行符不同,Windows 使用 `\r\n`,而 Linux 使用 `\n`。
2. 如果要在 Linux 上运行该程序,请确保当前目录下有写入权限,否则会打开文件失败。
阅读全文