在C语言中操作文本文件(.txt)中的数据通常需要结合文件I/O函数和字符串处理技术,因为文本文件本身并非结构化数据库,而是以字符形式存储的数据记录,以下是详细步骤和代码示例,说明如何打开、读取和解析txt文件中的“数据库”数据。

文件准备与数据格式
假设txt文件名为data.txt如下(每行一条记录,字段用逗号分隔):
1,张三,25,北京
2,李四,30,上海
3,王五,28,广州
这种格式类似CSV(逗号分隔值),是文本文件存储数据的常见方式。
核心步骤与代码实现
(1)包含头文件
#include <stdio.h> #include <stdlib.h> #include <string.h>
(2)定义数据结构
为每条记录定义结构体,方便存储解析后的数据:

typedef struct {
int id;
char name[20];
int age;
char city[20];
} Record;
(3)打开文件
使用fopen()函数以读取模式打开文件,需检查文件是否成功打开:
FILE *file = fopen("data.txt", "r");
if (file == NULL) {
perror("无法打开文件");
exit(EXIT_FAILURE);
}
(4)逐行读取与解析
通过fgets()读取每行数据,用strtok()分割字符串:
char line[100];
Record records[100]; // 假设最多存储100条记录
int count = 0;
while (fgets(line, sizeof(line), file)) {
// 去除换行符
line[strcspn(line, "n")] = '