c语言文件分行读取并存储到数组内
时间: 2024-09-07 09:05:55 浏览: 44
在C语言中,文件行分隔读取并存储到字符数组内通常涉及到文件操作和循环结构。这里是一个简单的示例,展示了如何逐行读取文本文件并将其内容存储到字符数组中:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_LINES 100 // 假设最大行数
#define LINE_BUFFER_LENGTH 50 // 每行数据的最大长度
int main() {
FILE *file = fopen("example.txt", "r"); // 打开文件
if (file == NULL) {
perror("Failed to open file");
return 1;
}
char lines[MAX_LINES][LINE_BUFFER_LENGTH]; // 存放每一行的字符数组
int line_count = 0;
while (fgets(lines[line_count], LINE_BUFFER_LENGTH, file)) { // 逐行读取
lines[line_count][strcspn(lines[line_count], "\n")] = '\0'; // 去掉换行符
line_count++; // 如果成功读取,增加行计数
if (line_count >= MAX_LINES) { // 判断是否达到最大行数
fprintf(stderr, "Reached maximum number of lines (%d). Skipping remaining.\n", MAX_LINES);
break;
}
}
fclose(file); // 关闭文件
for (int i = 0; i < line_count; i++) {
printf("%s\n", lines[i]); // 输出每行内容
}
阅读全文