c语言从键盘输入1个15个字符的字符串写到文件data.txt中,程序执行后打开试题文件夹下的文件data.txt,看下文件内容是否是输入的字符串。再从该文件读取字符串输出到屏幕上。
时间: 2023-06-11 11:07:34 浏览: 128
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
下面是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_LEN 15
int main() {
char str[MAX_LEN + 1];
// 从键盘输入字符串
printf("请输入一个15个字符的字符串:");
scanf("%s", str);
// 打开文件并写入字符串
FILE *fp = fopen("data.txt", "w");
if (fp == NULL) {
printf("无法打开文件\n");
exit(1);
}
fputs(str, fp);
fclose(fp);
// 从文件中读取字符串并输出到屏幕
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("无法打开文件\n");
exit(1);
}
fgets(str, MAX_LEN + 1, fp);
printf("从文件中读取的字符串为:%s\n", str);
fclose(fp);
return 0;
}
```
在该程序中,我们首先使用 `scanf()` 函数从键盘输入一个15个字符的字符串,并将其保存在 `str` 数组中。然后我们使用 `fopen()` 函数打开一个名为 `data.txt` 的文件,并使用 `fputs()` 函数将 `str` 中的内容写入文件中。接着我们再次使用 `fopen()` 函数打开 `data.txt` 文件,并使用 `fgets()` 函数从文件中读取字符串,并将其存储到 `str` 数组中。最后,我们将读取的字符串输出到屏幕上。
需要注意的是,在使用 `fgets()` 函数时,我们需要指定读取字符串的最大长度为 `MAX_LEN + 1`,即为 `16`。这是因为 `fgets()` 函数会将读取到的字符串末尾的换行符(`\n`)也计入字符串长度中。而我们在 `str` 数组中只保留了 `15` 个字符的空间,因此需要将读取的最大长度设置为 `16`,以确保读取到的字符串能够被完整地存储在 `str` 数组中。
阅读全文