C语言怎么将输入函数体的文字写到文本文件里面?

在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。计算字符串中字母、数字、空格、其它符号出现的次数,并将字母和数字存放到另一个文件中。

以下是一个简单的C语言程序,可以实现将键盘输入的字符串写入文件中,并统计其中字母、数字、空格和其他字符出现的次数,并将字母和数字存放到另一个文件中:

```c
#include <stdio.h>
#include <ctype.h>

int main() {
char str[1000], ch;
int i = 0, letter_count = 0, digit_count = 0, space_count = 0, other_count = 0;

// 从用户输入中读取字符串
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);

// 将字符串写入文件并统计字符出现次数
FILE *fp = fopen("input.txt", "w");
if (fp == NULL) {
perror("fopen");
return 1;
}

while ((ch = str[i++]) != '\0') {
fputc(ch, fp);

if (isalpha(ch)) {
letter_count++;
} else if (isdigit(ch)) {
digit_count++;
} else if (isspace(ch)) {
space_count++;
} else {
other_count++;
}
}

fclose(fp);

// 统计字母和数字出现次数并将其存入文件
fp = fopen("output.txt", "w");
if (fp == NULL) {
perror("fopen");
return 1;
}

fprintf(fp, "Letters: %d\n", letter_count);
fprintf(fp, "Digits: %d\n", digit_count);

fclose(fp);

// 输出字符出现次数的统计结果
printf("Letter count: %d\n", letter_count);
printf("Digit count: %d\n", digit_count);
printf("Space count: %d\n", space_count);
printf("Other count: %d\n", other_count);

return 0;
}
```

在上述代码中,我们使用 `fgets()` 函数从用户输入中读取字符串,并将其写入名为 `input.txt` 的文本文件中。在此过程中,我们使用了 `isalpha()` 和 `isdigit()` 等函数判断字符类型,并统计其中字母、数字、空格和其他字符的出现次数。

然后,我们使用 `fprintf()` 函数将字母和数字的出现次数分别存入名为 `output.txt` 的文件中。

最后,输出字符出现次数的统计结果。

需要注意的是,在实际应用中还需要考虑更多的边界情况和错误处理。例如,可能出现无法打开或关闭文件、读写文件出错等问题。此外,如果输入的字符串超出预设数组大小,可能会引起缓冲区溢出等问题。
温馨提示:答案为网友推荐,仅供参考
相似回答