char数组c((SIGSEGV)(核心转储))

时间:2013-11-24 11:15:58

标签: c++ linux string ubuntu

我在eclipse ubuntu中遇到c ++问题。我的代码是:

string Bi1 [N];
for(int j=1; j<=N;j++){
    char *cstr2 = new char[Bi2[j].length() + 1];
    strcpy(cstr2, Bi2[j].c_str());
    delete [] cstr2;
}

启动后程序崩溃:...(SIGSEGV)(核心转储)......

在windows visual studio中工作正常。

感谢您的回答。

1 个答案:

答案 0 :(得分:4)

在C ++中,数组从0开始,以N-1结束

for(int j=0; j<N;j++){

您可能需要在代码的其他位置进行类似的调整。