在C语言中,getline函数用于从标准输入流中读取一行文本。它的声明如下:
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
参数说明:
函数返回值是读取的字符数(包括行尾的换行符),如果发生错误或到达文件末尾,则返回-1。
使用getline函数的一般过程如下:
下面是一个示例程序:
#include <stdio.h>
#include <stdlib.h>
int main() {
char *line = NULL; // 用于存储读取的行
size_t len = 0; // 缓冲区大小
printf("请输入文本(按Ctrl + D结束输入):\n");
while (getline(&line, &len, stdin) != -1) {
printf("读取的行:%s", line);
}
free(line); // 释放动态分配的内存
return 0;
}
在上面的示例中,程序使用getline函数从标准输入读取文本行,并将每行打印出来,直到输入结束(按下Ctrl + D)。注意,getline函数会自动分配内存来存储读取的行,所以在程序结束时需要使用free函数释放内存。