阅读量:1
在C语言中,readline()
函数用于从文件中读取一行内容,并将其存储到字符串中。
readline()
函数的声明如下:
char *readline(FILE *stream);
参数stream
是一个指向文件的指针,该文件必须以读模式打开。函数将从该文件中读取一行内容,并返回一个指向包含读取内容的字符串的指针。
readline()
函数的工作原理如下:
- 从文件中读取字符,直到遇到换行符(‘\n’)或文件结束符(EOF)为止。
- 将读取的字符存储到一个缓冲区中,直到达到缓冲区大小限制(通常为
BUFSIZ
)或遇到换行符或文件结束符为止。 - 为存储读取内容的字符串分配足够的内存空间,将缓冲区中的内容复制到该字符串中。
- 返回指向该字符串的指针。
需要注意的是,readline()
函数在读取到文件结束符或出现错误时会返回NULL。
以下是一个使用readline()
函数的示例:
#include <stdio.h> int main() { FILE *file = fopen("file.txt", "r"); if (file == NULL) { printf("无法打开文件\n"); return 1; } char *line; while ((line = readline(file)) != NULL) { printf("%s\n", line); } fclose(file); return 0; }
以上示例中,程序从名为"file.txt"的文件中逐行读取内容,并将每行内容打印到标准输出。