写一个c语言程序从键盘输入一个字符串,将小写字母全部转换成大写字母 K 一个磁盘文件test”中保存。输入的字符串 以!结束。
时间: 2024-03-08 16:50:47 浏览: 319
好的,下面是符合您要求的 C 语言程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
FILE *fp;
char str[100];
int i;
// 从键盘输入字符串
printf("请输入一个字符串(以 ! 结束):\n");
scanf("%[^!]", str);
// 将小写字母转换成大写字母
for (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;
}
```
该程序使用 `scanf` 函数从键盘输入字符串,然后使用 `islower` 和 `toupper` 函数将小写字母转换成大写字母。最后使用 `fprintf` 函数将字符串写入磁盘文件。请注意,在写入文件时,需要先打开文件,写入完成后再关闭文件。
相关问题
c语言中从键盘输入一字符串,将所有的小写字母转换为大写字母,并输入到一个磁盘文件test中保存,输入的字符串以“!”结束
以下是一个C语言程序,它可以从键盘输入一个字符串,将所有的小写字母转换为大写字母,并将结果保存到磁盘文件"test"中。输入的字符串以"!"结束。
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LENGTH 1000
int main() {
char input[MAX_LENGTH];
char ch;
int i = 0;
printf("请输入一个字符串(以!结束):\n");
// 从键盘读取输入
while ((ch = getchar()) != '!' && i < MAX_LENGTH - 1) {
input[i++] = ch;
}
input[i] = '\0'; // 添加字符串结束标志
// 打开文件用于写入
FILE *file = fopen("test", "w");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 将小写字母转换为大写字母
for (int j = 0; j < i; j++) {
fputc(toupper((unsigned char)input[j]), file);
}
fclose(file); // 关闭文件
printf("转换后的字符串已保存到文件 'test' 中。\n");
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个最大长度为1000的字符数组 `input` 来存储输入的字符串。
2. 使用 `getchar()` 函数从键盘逐个字符读取输入,直到遇到 '!' 或达到最大长度限制。
3. 在输入结束后,我们添加字符串结束标志 '\0'。
4. 我们尝试打开一个名为 "test" 的文件用于写入。如果文件无法打开,程序会输出错误信息并退出。
5. 使用 `fputc()` 函数将每个字符写入文件。在写入之前,我们使用 `toupper()` 函数将小写字母转换为大写字母。
6. 最后,我们关闭文件并通知用户转换完成。
注意,这个程序会将所有非字母字符原样写入文件,包括空格、数字和标点符号。如果需要过滤这些字符,可以添加额外的逻辑。
2.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存,输入字符串时以!结束输入。用c语言做
在C语言中,你可以使用`ctype.h`库中的`toupper`函数将字符转换为大写,并结合`fopen`、`fprintf`和`fclose`函数来操作文件。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
FILE *fp;
// 打开文件 "test.txt" 进行写入
fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
while (1) {
// 读取用户输入,直到遇到 '!'
fgets(input, sizeof(input), stdin);
if (input[0] == '!') {
break; // 用户输入 ! 结束循环
}
// 将字符串中的每个字符转为大写并写入文件
for (int i = 0; input[i]; i++) {
input[i] = toupper(input[i]);
}
fprintf(fp, "%s", input); // 写入转换后的字符串
fprintf(fp, "\n"); // 每行结束后添加换行符
}
// 关闭文件
fclose(fp);
printf("Data saved to test.txt.\n");
return 0;
}
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)