gpt4 book ai didi

c - 是否可以在不知道c中数组长度的情况下使用gets?

转载 作者:行者123 更新时间:2023-11-30 18:22:36 26 4
gpt4 key购买 nike

如果我们想在c中使用gets,我们会这样做:

int main(void) {
char str[100];
while (gets(str)) {
printf("%s\n",str);
}
}

我们必须先知道str的长度(即100),然后再使用gets。是否可以在不知道c中数组长度的情况下使用gets?

最佳答案

如果您的意思是安全地使用gets,不,这是不可能的。

建议:不要使用gets,因为在不知道长度的情况下,可能会导致缓冲区溢出。使用fgets相反,或者在 C11 中使用 gets_s

事实上,自 C11 以来,gets 已从 stdio.h 中删除。 (在 C99 中,已弃用)

关于c - 是否可以在不知道c中数组长度的情况下使用gets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17737078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com