编写代码,要求如下(c语言)
1.创建一个文件STRING.txt。
2.由键盘输入一个任意字符串,利用文件写入函数,把输入的字符串写入文件。
3.利用文件读出函数,读出文件中的字符串,统计文本文件中字符串所包含的各类字符个数:字母、数字及其它字符的个数。
4.输出各类字符个数。
以下是一个示例的 C 代码,按照你的要求实现了创建文件、写入字符串、读出字符串并统计字符个数的功能:
#include <stdio.h>#include <ctype.h>int main() {
FILE *file;
char str[100];
int letterCount = 0, digitCount = 0, otherCount = 0;
// 创建文件并写入字符串
file = fopen("STRING.txt", "w");
if (file == NULL) {
printf("无法创建文件!\n");
return 1;
}
printf("请输入一个字符串:");
fgets(str, 100, stdin);
fputs(str, file);
fclose(file);
// 读出字符串并统计字符个数
file = fopen("STRING.txt", "r");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
char ch;
while ((ch = fgetc(file)) != EOF) {
if (isalpha(ch)) {
letterCount++;
}
else if (isdigit(ch)) {
digitCount++;
}
else {
otherCount++;
}
}
fclose(file);
// 输出各类字符个数
printf("字符串中包含的字符个数统计结果:\n");
printf("字母个数:%d\n", letterCount);
printf("数字个数:%d\n", digitCount);
printf("其他字符个数:%d\n", otherCount);
return 0;}
在这个示例代码中,我们根据你的要求依次完成了以下操作:
使用文件指针 file 创建了名为 “STRING.txt” 的文件,并以写入模式打开。如果文件无法创建,程序将打印一条错误消息并退出。
从键盘输入一个字符串,并使用 fgets() 函数将其写入文件。
关闭文件。
重新打开文件读取字符串,并通过遍历每个字符来统计字母、数字和其他字符的个数。我们使用 isalpha() 函数判断字符是否为字母,isdigit() 函数判断字符是否为数字。
关闭文件。
输出各类字符的个数。
请注意,在输入字符串时使用了 fgets() 函数,它可以读取一行字符串(最大长度为100),包括空格和其他特殊字符。
希望这能帮助到你!如果你还有其他问题,请随时提问。