linux下getline
时间: 2023-09-15 14:21:45 浏览: 143
C++:使用getline读取文本文件
在Linux下,getline() 函数用于从指定的输入流中读取一行文本。它的原型如下:
```c
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
```
参数说明:
- `lineptr`:指向一个字符串指针,用于存储读取的文本行。
- `n`:指向一个变量,表示 `lineptr` 所指向的缓冲区的大小。
- `stream`:指定输入流,可以是 `stdin`、文件指针等。
返回值为读取的字符数,如果出现错误或到达文件末尾,则返回 -1。
下面是一个示例代码,演示如何在Linux下使用 getline() 函数读取用户输入的文本行:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char *line = NULL;
size_t len = 0;
ssize_t read;
printf("请输入一行文本:\n");
read = getline(&line, &len, stdin);
if (read != -1) {
printf("您输入的文本是:%s", line);
} else {
printf("读取文本失败!\n");
}
free(line);
return 0;
}
```
注意:在使用完 getline() 函数后,需要使用 `free()` 函数释放动态分配的内存。
阅读全文