从文件

时间:2015-10-01 00:02:32

标签: c++ io segmentation-fault

我正在为一个数独求解器的项目工作。我试图将文件中的元素读入我创建的板对象中。代码编译得很好但是当它运行时它会在文件试图在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();

程序在显示输出文件名后立即给我错误。

任何帮助将不胜感激 提前致谢

0 个答案:

没有答案
相关问题