我正在读取文件。文件的第一行只是一个数字,第二行是由空格分隔的最多5个数字的序列。我在for循环中有一个if语句循环第二行的长度,但是我的if语句在行上出现了超出范围的错误。我很困难,我已经多次编辑无济于事,所以我把它留在了我开始的地方。
如果您需要更多代码,请与我们联系。
//Reading from first line of file
prog1.seekg(0, prog1.beg);
prog1 >>fteeth;
prog1 >> fpattern;
for(x=0; x < fteeth; x++){
if ((fpattern.at(x) + 2 < 4) && (fpattern.at(x) + 2 > -1) && (fpattern.at(x) + 3 < 4) && (fpattern.at(x) -3 > -1)){
farray[x] = 2;
}
else {
farray[x] = 1;
}
}
for(x=0; x < fteeth; x++){
cout << farray[x] << endl;
}
}
答案 0 :(得分:0)
当索引超出范围时,at
抛出异常。所以for循环中使用的x
有问题。
prog1 >> fpattern;
只会读取一个“单词”,其中“单词”表示由空格分隔的任何字符。如果您有五个这样的单词或数字,则必须阅读五次。