我正在尝试从标有 {1...9} 或 X 的文件中读取输入。我需要分离这些值并将它们正确存储在向量中。我正在使用“sstringstream”来帮助我这样做:
void myclass::Initialize(ifstream &file_name)
{
string input;
int value;
//Initialize the values in the matrix from the values given
//in the input file, replace x with a 0
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 9; j++)
{
//Read the input from the file and determine
//if the entry is an "int" or "x"
file_name >> input;
cout << input << endl;
istringstream(input);
if(input >> value) //PROBLEM HERE!!
{
Matrix[i][j] = value;
cout << "Debug: Check for values in matrix: " << Matrix[i][j] << endl;
}
else
Matrix[i][j] = 0;
}
}
cout << "The values in Matrix after initialization: " << endl;
Print_result();
}
问题出现在 if 语句中,当“输入”中有一个整数时,它不会执行 if 语句。我不确定为什么它不起作用。