stack around xxx is corrupted

来源:互联网 发布:网络短信收费版 编辑:程序博客网 时间:2024/06/08 06:45

错误原因:
数组大小定义太小,在使用时越界。例如下面的代码就可能导致这个错误:

    char str[200];    char s1[10];    char s2[10];//s1, s2定义太小    while(fgets(str, sizeof(str), fp))    {        //如果str中存储的两个字符串很大,虽然s1,s2仍然能存储(越界存储),        //但在函数结束,释放局部变量时,        //就会出现stack around s1/s2 is corrupted 错误        sscanf(str, "%s%s", s1, s2);        if(strcmp(s1, "mesh_pattern_name:")==0)        {            vMeshPatternName.push_back(string(s2));            if(vMeshPatternName.size() == patternNum)            {                break;            }        }    }
阅读全文
0 0
原创粉丝点击