#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
是用来限制读取字符数的。但是当我输入更多字符时,它仍然读取了所有字符。我在手册和网上搜索了很久,但没有找到答案。有人能给我解释一下吗?