c语言实现文件循环打开与存储
时间: 2024-09-26 22:14:05 浏览: 28
在C语言中,要实现文件的循环打开和存储,通常我们会利用`fopen()`函数打开文件,然后使用`fgets()`或`fread()`读取数据,再关闭文件,接着再次打开并继续操作,直到文件遍历完毕。这里是一个简单的示例:
```c
#include <stdio.h>
#define MAX_LINES 100 // 文件最大行数假设
int main() {
FILE *fp;
char line[MAX_LINES]; // 存储每行数据
while ((fp = fopen("filename.txt", "r")) != NULL) { // 循环打开文件
size_t len;
if (getline(&line, &len, fp) > 0) { // fgets读取一行
line[len] = '\0'; // 结束字符串
// 对读取到的数据进行处理...
printf("%s\n", line); // 打印内容
} else {
fclose(fp); // 如果读取失败,关闭文件
break; // 或者跳出循环
}
// 关闭当前文件后,再次尝试打开
fclose(fp);
}
if (fp == NULL) {
perror("Error opening file");
}
return 0;
}
```
在这个例子中,我们首先打开文件,如果成功则逐行读取,并对每一行进行相应的操作。每次读取后都手动关闭文件,然后再尝试打开下一次。这样可以避免单次长时间占用文件导致其他程序无法访问。