C语言中怎么实现getline
时间: 2024-05-08 10:16:11 浏览: 93
c++ getline
5星 · 资源好评率100%
在C语言中,可以使用fgets函数来实现类似于getline的功能,它的函数原型如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,str为指向字符数组的指针,用于存储读取的字符串;n为读取的最大字符数,包括最后的'\0';stream为指向FILE类型的指针,用于指定要读取的文件流。
例如,可以使用以下代码来实现getline的功能:
```c
#include <stdio.h>
#include <stdlib.h>
char *getline() {
char *line = NULL;
size_t size = 0;
getline(&line, &size, stdin);
return line;
}
int main() {
char *line = getline();
printf("input: %s", line);
free(line);
return 0;
}
```
其中,getline函数调用了C标准库中的getline函数,该函数会自动分配内存来存储输入的字符串,并返回指向该字符串的指针。调用结束后,需要手动释放该指针所指向的内存。
阅读全文