编写代码,要求如下: 1.创建一个文件string.txt。 2.由键盘输入一个任意字符串,利用文件写入函数,把输入的字符串写入文件。 3.利用文件读出函数,读出文件中的字符串,统计文本文件中字符串所包含的各类字符个数:字母、数字及其它字符的个数。 4.输出各类字符个数。
时间: 2023-05-04 15:00:30 浏览: 163
1. 创建一个文本文件string.txt。
2. 利用文件写入函数,将任意输入的字符串,利用文件写入函数,将输入的字符串写入文件中。
3. 利用文件读取函数,读取文本文件中的字符串,统计文本文件中字符所包含的各类字符个数:字母、数字及其他字符的个数。
4. 输出各类字符个数。
相关问题
编写代码,要求如下: 1.创建一个文件STRING.txt。 2.由键盘输入一个任意字符串,利用文件写入函数,把输入的字符串写入文件。 3.利用文件读出函数,读出文件中的字符串,统计文本文件中字符串所包含的各类字符个数:字母、数字及其它字符的个数。 4.输出各类字符个数。
好的,这是一个简单的 Python 代码实现:
```python
# 创建文件并写入字符串
with open("STRING.txt", "w") as f:
input_str = input("请输入任意字符串:")
f.write(input_str)
# 读取文件并统计字符个数
with open("STRING.txt", "r") as f:
content = f.read()
alpha_count = 0
digit_count = 0
other_count = 0
for c in content:
if c.isalpha():
alpha_count += 1
elif c.isdigit():
digit_count += 1
else:
other_count += 1
# 输出结果
print("字母个数:", alpha_count)
print("数字个数:", digit_count)
print("其它字符个数:", other_count)
```
注意,该代码只能在 Python 环境中运行,不能在 CSDN 开发的 ChitGPT 中直接运行。如果您想在 ChitGPT 中运行该代码,可以将代码拷贝到本地 Python 环境中,或者使用在线 Python 编辑器。
从键盘输入一个长度不超过100个字符的字符串,然后做如下操作: (1)将字串中的小写字母转为大写,大写字母转为小写,而其它字符不作处理。(2)将字串输出保存到一个名为“ex801.txt”的文本文件中。注:文本文件ex801.txt应与源码文件ex801.c保存在同一个文件夹中。目前,已编写完成main函数,请用C++编程实现writeToFile函数,具体功能和要求如下所示。/* @Filename: ex801.c @Author: 鞠成东 @Version: 1.0 @Date: 2021-03-18 @Description: 文件字符读写 / #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char argv[]){ /(1)声明函数及变量/ int writeToFile(char str, char fileName, char mode); char str[100]; char fileName[] = “ex801.txt”; /(2)获取键盘输入字串/ fgets(str, 100, stdin);得到(str);将回车看作字串输入结束标志,字串中可以有空格 //scanf(“%s”, str);将空格看作字串输入结束标志,字串中不能有空格 /(3)将字串写入文件*/ int charNum = writeToFile(str, fileName, “w”);if(charNum < 0){ //printf(“write error”);//用于调试 return -1; } return 0;} /* * 函数名称:writeToFile * 函数功能:将字串写入文件 * 形式参数:char *str,一维字符数组(字符串)首地址 * 形式参数:char *fileName,待写入的文件路径及名称 * 形式参数:char *mode,文件使用方式 * 返 回 值:int型,若文件打开异常,返回 -1;否则返回写入到文件的字符数 */ int writeToFile(char *str, char *fileName, char *mode){ // 请编程实现本函数 } 其他说明:无 【源文件名】ex801.c 【输入形式】标准输入:从键盘任意输入不超过100个字符的字串 【输出形式】文件输出:将字串转换后输出到文件
以下是实现writeToFile函数的C++代码:
```cpp
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int writeToFile(char *str, char *fileName, char *mode) {
// 打开文件
ofstream outFile(fileName, mode);
if (!outFile) {
// 文件打开异常
return -1;
}
int len = strlen(str);
int charNum = 0;
// 将字串中的小写字母转为大写,大写字母转为小写,而其它字符不作处理
for (int i = 0; i < len; i++) {
if (islower(str[i])) {
outFile << (char)toupper(str[i]);
charNum++;
} else if (isupper(str[i])) {
outFile << (char)tolower(str[i]);
charNum++;
} else {
outFile << str[i];
}
}
// 关闭文件
outFile.close();
return charNum;
}
```
在主函数中调用该函数即可完成文件输出。完整的C++代码如下:
```cpp
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int writeToFile(char *str, char *fileName, char *mode) {
// 打开文件
ofstream outFile(fileName, mode);
if (!outFile) {
// 文件打开异常
return -1;
}
int len = strlen(str);
int charNum = 0;
// 将字串中的小写字母转为大写,大写字母转为小写,而其它字符不作处理
for (int i = 0; i < len; i++) {
if (islower(str[i])) {
outFile << (char)toupper(str[i]);
charNum++;
} else if (isupper(str[i])) {
outFile << (char)tolower(str[i]);
charNum++;
} else {
outFile << str[i];
}
}
// 关闭文件
outFile.close();
return charNum;
}
int main(int argc, char *argv[]) {
char str[100];
char fileName[] = "ex801.txt";
// 获取键盘输入字串
fgets(str, 100, stdin);
// 将回车看作字串输入结束标志,字串中可以有空格
//scanf("%s", str); // 将空格看作字串输入结束标志,字串中不能有空格
// 将字串写入文件
int charNum = writeToFile(str, fileName, "w");
if (charNum < 0) {
// 文件打开异常
cout << "write error" << endl;
return -1;
}
return 0;
}
```
阅读全文