读书人

关于检验字符串溢出,该如何解决

发布时间: 2012-02-08 19:52:21 作者: rapoo

关于检验字符串溢出
如果
char c[10];
gets(a);
那么如何检验字符串要小于9个字符;
或在输入时检验,或在输入后检验都行。
在输入后检验我觉得没什么意义了,因为已经溢出了!
大家帮忙分析一下

[解决办法]
一般提供足够大的缓存区,gets很“危险”因为过小的缓存区会直接溢出,这也为许多人所诟病
如果要“完美”一下,可以一个个读入,比较麻烦~
[解决办法]
用fgets吧
[解决办法]
#include <stdio.h>
#include <time.h>
void main()
{
char test[10];

fgets(test, 10, stdin);

puts(test);
}

读书人网 >C语言

热点推荐