【发布时间】:2017-05-02 23:12:57
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char* buffer = malloc(100 * sizeof(char));
size_t n = 3;
getline(&buffer, &n, stdin);
printf("%s\n", buffer);
free(buffer);
}
我以为getline 中的第二个参数size_t *n 是为了限制读取的字符数。但是当我尝试使用更大的输入时,它仍然会读取所有输入。我在手册页和在线搜索但找不到答案。谁能帮我解释一下?
【问题讨论】:
-
仔细阅读文档很有帮助。