我正在为一个数独求解器的项目工作。我试图将文件中的元素读入我创建的板对象中。代码编译得很好但是当它运行时它会在文件试图在main函数中打开任何建议时给出一个分段错误吗?
这是我的读取函数代码:
void Sudoku::readPuzzle(Scanner& inStream)
{
char placeHolder;
int row = 1;
int col = 1;
int newInt;
while(inStream.hasNext())
{
placeHolder = inStream.next();
if(placeHolder == '.')
{
board.setSquare(row,col,DUMMY);
}
else
{
newInt = placeHolder;
board.setSquare(row,col,newInt);
}
if(col > NINE)
{
row++;
}
col++;
}
} // void Su)doku::readPuzzle(Scanner& inStream)
这是主要程序的一部分,它给我的错误是:
int main(int argc, char *argv[])
{
string timeCallOutput;
string inStreamName;
string outStreamName;
Scanner inStream;
ofstream outStream;
Sudoku sudoku;
Utils::CheckArgs(2, argc, argv, "infilename outfilename");
inStreamName = static_cast<string>(argv[1]);
outStreamName = static_cast<string>(argv[2]);
Utils::FileOpen(outStream, outStreamName);
timeCallOutput = Utils::timecall("beginning");
outStream << timeCallOutput;
outStream << TAG << "\nBeginning execution" << endl;
outStream << "infile '" << inStreamName << "'\n";
outStream << "outfile '" << outStreamName << "'\n";
outStream.flush();
inStream.openFile(inStreamName);
cout << "File Open Succesful.";
sudoku.readPuzzle(inStream);
outStream << sudoku.toString("\nAfter reading");
outStream.flush();
inStream.close();
程序在显示输出文件名后立即给我错误。
任何帮助将不胜感激 提前致谢