用Dev C++ 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件letter.dat中保存,输入的字符串以“#”结束。再从该文件中读取这些数据在显示屏上输出。源程序命名为ex2.c
时间: 2024-02-16 14:03:10 浏览: 108
好的,我来给你写一个在Dev C++下的程序。
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int i = 0;
FILE *fp;
printf("请输入一个字符串(以#结束):\n");
scanf("%s", str);
// 将小写字母转换为大写字母
while (str[i] != '#') {
str[i] = toupper(str[i]);
i++;
}
// 将处理后的字符串保存到文件
fp = fopen("letter.dat", "w");
fprintf(fp, "%s", str);
fclose(fp);
// 从文件中读取数据并输出到屏幕上
fp = fopen("letter.dat", "r");
while (!feof(fp)) {
putchar(fgetc(fp));
}
fclose(fp);
return 0;
}
```
你可以将上述代码复制到Dev C++中的源文件中,并将其保存为 `ex2.c` 。然后,你就可以编译并运行这个程序来实现你的要求了。
相关问题
从键盘输入一个字符串,将其中的小写字母全部转换为大写字母,然后输出到一个磁盘文件test中保存,输入的字符串以“!”结束用dev-c++写
### 回答1:
下面是用C++实现的代码:
```cpp
#include <iostream>
#include <fstream>
#include <cctype> // 包含toupper函数
using namespace std;
int main()
{
string str;
cout << "请输入字符串(以\"!\"结束):";
getline(cin, str, '!');
// 将小写字母转换为大写字母
for (char& c : str) {
if (islower(c)) {
c = toupper(c);
}
}
// 将字符串输出到文件
ofstream out("test.txt");
if (out.is_open()) {
out << str;
out.close();
cout << "字符串已保存到test.txt文件中。" << endl;
} else {
cout << "无法打开文件。" << endl;
}
return 0;
}
```
运行程序后,输入字符串,程序会将其中的小写字母全部转换为大写字母,并保存到文件test.txt中。注意,如果输入的字符串中没有叹号“!”,程序会一直等待输入,直到输入叹号为止。
### 回答2:
在Dev-C中,我们首先需要使用`stdio.h`头文件,以便使用标准输入输出函数。然后,我们可以使用以下代码来实现输入字符串、转换小写字母为大写字母并将其保存到文件中:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[1000]; // 声明一个足够大的字符数组来存储输入的字符串
printf("请输入一个字符串,以'!'结束:");
fgets(str, sizeof(str), stdin); // 从键盘输入字符串,包括空格
for(int i = 0; str[i] != '\0'; i++) {
if(islower(str[i])) {
str[i] = toupper(str[i]); // 如果字符是小写字母,将其转换为大写字母
}
}
FILE *fp;
fp = fopen("test.txt", "w"); // 打开文件test.txt,并以写入模式打开
if(fp == NULL) {
printf("无法打开文件!\n");
return 1; // 如果无法打开文件,返回错误
}
fprintf(fp, "%s\n", str); // 将转换后的字符串写入文件
fclose(fp); // 关闭文件
printf("已将字符串保存到test.txt文件中。\n");
return 0;
}
```
以上代码接受用户从键盘输入一个字符串,其中包括空格。然后,它遍历字符串并将其中的小写字母转换为大写字母。最后,它将转换后的字符串写入一个名为“test.txt”的文本文件中。如果无法打开文件,则会打印错误消息。最后,程序输出一个成功保存文件的消息。
请注意,以上代码统一转换了字符串中的所有小写字母为大写字母。如果需要在循环中加入条件来只转换字母后的字符,可以在`if`语句中增加额外的条件判断。
### 回答3:
要实现以上功能,可以使用C语言编写程序来完成。首先,我们可以使用fgets函数从键盘输入一个字符串,然后使用toupper函数将其中的小写字母转换为大写字母。接下来,我们可以使用fopen函数创建一个名为test的磁盘文件,并以写入的方式打开它。然后,使用fputs函数将转换后的字符串写入到test文件中。最后,使用fclose函数关闭文件。
下面是一个实现该功能的C语言程序的示例:
```C
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
// 将字符串中的小写字母转换为大写字母
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
}
// 将转换后的字符串写入磁盘文件
FILE *file = fopen("test.txt", "w");
if (file != NULL) {
fputs(str, file);
fclose(file);
printf("字符串已成功保存到test.txt文件中。\n");
} else {
printf("无法创建或打开文件test.txt。\n");
}
return 0;
}
```
你可以将以上代码复制到Dev-C++中,并编译运行该程序。在程序执行期间,它会要求你输入一个字符串,并在输入完成后将转换后的字符串保存到名为test.txt的磁盘文件中。如果一切顺利,程序将输出“字符串已成功保存到test.txt文件中。”,否则将输出“无法创建或打开文件test.txt。”。
用devc++操作,从键盘输入一个字符串,将其中的大写字母变成小写字母,小写字母变成大写字母
在Dev-C++中,你可以使用标准库中的`ctype.h`函数库来进行字符大小写的转换。下面是一个简单的程序示例,它会提示用户输入一个字符串,然后交换其中字母的大小写:
```cpp
#include <iostream>
#include <cstring>
#include <cctype> // 包含用于大小写转换的头文件
void swap_case(char* str) {
int len = strlen(str);
for (int i = 0; i < len; ++i) {
if (islower(str[i])) { // 如果是小写字母
str[i] = toupper(str[i]); // 转换成大写
} else if (isupper(str[i])) { // 如果是大写字母
str[i] = tolower(str[i]); // 转换成小写
}
}
}
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
getline(std::cin, input); // 使用getline读取一行输入,包括空格
swap_case(input.c_str()); // 调用swap_case函数处理输入的字符串
std::cout << "变换后的字符串是: " << input << std::endl;
return 0;
}
```
当你运行这个程序,按照提示输入一个字符串,程序会打印出所有字母大小互换的新字符串。
阅读全文