比较容易出问题的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;
        }

posted @ 2012-10-16 16:17  mangu_uu  阅读(185)  评论(0编辑  收藏  举报