C语言 getline() 读取 txt 举例
时间: 2024-03-23 16:39:56 浏览: 52
C语言读取txt文本信息
下面是一个使用C语言的getline()函数从txt文件中读取数据的示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char *line = NULL;
size_t len = 0;
ssize_t read;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("Error opening file!\n");
exit(EXIT_FAILURE);
}
while ((read = getline(&line, &len, fp)) != -1) {
printf("Retrieved line of length %zu:\n", read);
printf("%s", line);
}
if (line) {
free(line);
}
fclose(fp);
return 0;
}
```
在上面的示例中,我们首先使用fopen()函数打开一个名为"data.txt"的txt文件,并将文件指针存储在fp变量中。然后,我们使用getline()函数从文件中读取每一行数据,并将其存储在名为line的字符指针变量中。getline()函数的第一个参数是line指针的地址,第二个参数是line指针的长度(即缓冲区的大小),第三个参数是文件指针。如果函数成功读取一行数据,则它返回该行数据的长度;如果到达文件末尾,则它返回-1。
在while循环中,我们打印了每一行读取到的数据,并在循环结束后使用free()函数释放line指针所指向的内存空间。最后,我们使用fclose()函数关闭文件指针。
阅读全文