程序可以从磁盘文件中读取成语,构造一个成语库,如何用c语言实现
时间: 2024-03-03 14:51:46 浏览: 58
在 C 语言中,可以使用文件操作函数来读取磁盘文件中的成语,并将它们存储到程序内部的数据结构中,从而构造成语库。下面是一个简单的实现示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_IDIOMS 1000 // 成语库最大容量
#define MAX_LENGTH 10 // 成语最大长度
char idioms[MAX_IDIOMS][MAX_LENGTH + 1]; // 成语库数组
// 从文件中读取成语,存储到数组中
int load_idioms(const char* filename) {
FILE* fp;
char buffer[MAX_LENGTH + 1];
int count = 0;
// 打开文件
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error: failed to open file '%s'\n", filename);
return -1;
}
// 读取文件中的成语
while (fgets(buffer, MAX_LENGTH + 1, fp) != NULL) {
// 去掉换行符
buffer[strlen(buffer) - 1] = '\0';
// 复制到成语库中
strcpy(idioms[count], buffer);
count++;
// 达到最大容量时退出循环
if (count >= MAX_IDIOMS) {
break;
}
}
// 关闭文件
fclose(fp);
// 返回实际读取到的成语数
return count;
}
int main() {
int count = load_idioms("idioms.txt");
printf("Loaded %d idioms:\n", count);
for (int i = 0; i < count; i++) {
printf("%s\n", idioms[i]);
}
return 0;
}
```
上面的代码中,`load_idioms` 函数用于从文件中读取成语,并将它们存储到 `idioms` 数组中。`main` 函数调用 `load_idioms` 函数,并输出读取到的成语。你可以将成语保存在一个文本文件中,每行一个成语,然后将文件名传递给 `load_idioms` 函数即可。