strset

一个小问题,栽了我几个小时,写出来以示警告。

 

strset在原码为:

char* _strset (char* szToFill, int szFill)
{
char *t = szToFill;
while( *szToFill != 0 )
{
*szToFill = szFill;
szToFill++;

}
return t;
}

这个函数实现方式不明显,一直覆值,直到szToFill为空为止。那么szToFill什么时候为空呢?对于一个未被初始化的数组,并没没结束标志。这是一个极其危险的函数,很有可能会冲掉相临内存中的数据,导致奇怪的问题。

 

 

 

使用别的函代码此功能。如strncat,memset。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值