如果我们想在 c 中使用 gets,我们会这样做:
int main(void) {
char str[100];
while (gets(str)) {
printf("%s\n",str);
}
}
我们必须先知道str的长度(即100),然后使用gets。是否可以在不知道c中数组长度的情况下使用gets?
如果你的意思是使用gets
安全地,不,这是不可能的。
Advice: 不要使用gets
,因为不先知道长度,可能会导致缓冲区溢出。使用fgets http://www.cplusplus.com/reference/cstdio/fgets/相反,或使用gets_s
in C11.
实际上,gets
已被删除stdio.h
从C11开始。 (在 C99 中,它已被弃用)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)