1. 使用fgets函数逐行读取文件
在C语言中,可以使用fgets函数逐行读取文件。该函数的原型如下: ```c
char *fgets(char *str, int n, FILE *stream); ```
其中,str表示存储读取数据的缓冲区,n表示最大读取字符数,stream表示要读取的文件指针。下面是一个示例代码: ```c
#include int m本人n() { FILE *fp; char line[100]; char *array[100]; // 假设最多存放100行数据 int i = 0; fp = fopen(\"data.txt\ if (fp == NULL) { printf(\"文件打开失败\\n\"); exit(1); } while (fgets(line, 100, fp) != NULL) { array[i] = (char *)malloc(sizeof(char) * 100); // 分配内存空间 strcpy(array[i], line); i++; } fclose(fp); for (int j = 0; j < i; j++) { printf(\"s\输出数组中的每一行数据 } for (int j = 0; j < i; j++) { free(array[j]); // 释放内存 } return 0; } ``` 在上面的示例代码中,我们首先使用fgets函数逐行读取文件中的数据,并将每一行数据存放在数组array中。需要注意的是,为了动态存储每一行数据,我们在读取时使用了动态内存分配函数malloc来动态分配内存空间。在读取完成后,我们还需要使用free函数释放分配的内存空间,以避免内存泄漏。 2. 其他方法 除了使用fgets函数外,还可以使用其他方法来实现文件中每行数据的读取和存储。比如可以使用fscanf函数按照特定的格式来读取文件中的数据,然后存放在数组中。另外,也可以使用getline函数来实现文件每行数据的读取和存储。 无论使用哪种方法,都需要注意在处理文件操作时,要确保文件打开成功、读取操作正常等异常情况的处理,同时在读取数据后要及时释放内存以避免内存泄漏。 在实际应用中,选择不同的方法来实现文件中每行数据的读取和存储,可根据实际情况灵活运用,以提高程序的效率和可靠性。 因篇幅问题不能全部显示,请点此查看更多更全内容