他们都可以从流中获取一行。为什么`fgets()`需要一个* str,但是`getline()`需要一个** str参数?
定义如下:
ssize_t
getline(char ** restrict linep, size_t * restrict linecapp, FILE * restrict stream);
而且
char *
fgets(char * restrict str, int size, FILE * restrict stream);
为什么getline
需要a pointer to a pointer to char
,而不是使用a pointer to char
喜欢什么fgets
怎么办?
而且确实低于等效?
(1)
char *str = NULL
read = getline (&str, &len, fp);
(2)
char *str = NULL
read = fgets (str, &len, fp);