程序在不应该出现的情况下不断抛出段错误。我有数组和向量,并尝试了这两种选择。似乎总是在数组/向量的第三个值 3 上抛出 seg 错误。在此之后还有另一个函数,当被注释掉时,它会再运行几次。但是结果是一样的,还是seg故障。
char bits[3];//vector<char> bits(3,'0');
vector<string> inputs;
string temp;
for(int x = 0;!i.eof();x++)
{
getline(i, temp);
inputs.push_back(temp);
}
for(int x = 0; x < inputs.size();x++)
{
cout << endl << inputs[x];
}
for(int x = 0; x < 3;x++)
{
cout << endl << bits[x];
}
for(int cursor = 0;cursor< inputs.size();cursor++)
{
cout << endl << "bitstogoin " << cursor;
cout << endl << inputs.size();
bits[0]=inputs[cursor][0];
cout << endl << "got1 " << bits[0];
bits[1]=inputs[cursor][1];
cout << endl << "got2 " << bits[1];
bits[2]=inputs[cursor][2]; //seg faults on this line.
cout << endl << "bitsin";
for(int t = 0; t < 3;t++)
{
cout << bits[t];
}
通过输入文件给出的命令如下所示:100 10110101 101 11001011 111 110 000 111 110 等...