比较容易出问题的c函数
1、strncpy
strncpy(dest,src,size)
风险点:不自动填充\0结束符
可能问题:(1)复制的原串长度大于目的dest空间导致复制时dest空间溢出(2)原串长度=dest空间长度,结尾没有\0结束符导致读取dest时出现溢出或乱码
推荐用法:
strncpy(dest,src,sizeof(dest)); //源串长度大于指定拷贝的长度sizeof(name),注意在这种情况下不会自动在目标串后面加'\0' name[sizeof(dest)-1]='\0'; //和上一步组合,弥补结果
2、atoi 如果string值本来就是0呢?
int flag = atoi(line);
if(0 != flag)
{
g_conf.src_table_flag[i] = flag;
}