在C語言中,getline函數(shù)用于從標(biāo)準(zhǔn)輸入流中讀取一行文本。它的聲明如下:
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
參數(shù)說明:
函數(shù)返回值是讀取的字符數(shù)(包括行尾的換行符),如果發(fā)生錯誤或到達(dá)文件末尾,則返回-1。
使用getline函數(shù)的一般過程如下:
下面是一個示例程序:
#include <stdio.h>
#include <stdlib.h>
int main() {
char *line = NULL; // 用于存儲讀取的行
size_t len = 0; // 緩沖區(qū)大小
printf("請輸入文本(按Ctrl + D結(jié)束輸入):\n");
while (getline(&line, &len, stdin) != -1) {
printf("讀取的行:%s", line);
}
free(line); // 釋放動態(tài)分配的內(nèi)存
return 0;
}
在上面的示例中,程序使用getline函數(shù)從標(biāo)準(zhǔn)輸入讀取文本行,并將每行打印出來,直到輸入結(jié)束(按下Ctrl + D)。注意,getline函數(shù)會自動分配內(nèi)存來存儲讀取的行,所以在程序結(jié)束時需要使用free函數(shù)釋放內(nèi)存。