在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函數釋放內存。