检测到堆损坏。 c加上

时间:2016-12-17 11:03:29

标签: c++ dynamic runtime

我运行此代码时会出现堆损坏。我不知道问题是什么。 错误:HEAP CORRUPTION DETECTED:正常阻止后。

import cgi;
import cgitb;cgitb.enable()

1 个答案:

答案 0 :(得分:0)

我建议使用std::string,而不是信任用户输入的长度。

还要记住c字符串" abc"需要char [4]来存储它,因为它是null终止的并且必须存储隐藏的空字符。

for (int i = 0; i < t; i++)
{ 
    std::string a;
    std::string b;
    cin >> a;
    cin >> b;
    int n = min(a.length(), b.length())
    res[i] = a_or_c_checker(a.c_str(), b.c_str(), n);
}