首先是输入文件:
0 a a b c
0 b d e f
1 c g h i
1 d j k l
我们正试图从输入文件中读取并将接收到的字符存储到向量中,然后从那里将其存储到名为T
的2D表中。我们得到了初始的while循环,因此它抓住了第一列并输出“ a b c d”,但是我们无法让它返回到while
或for
循环中来抓住其他行和列。这是到目前为止的内容:
int readTable() {
int row, col; // row and col numbers
char col_c; // column indicator
ifstream fin("C:\\Users\\name\\OneDrive\\Desktop\\lines.txt", ios::in);
// Read in the file into T
while (fin >> row) // next line of file
{
fin >> col_c;
col = convert(col_c); // convert to a slot number
vector<char> v; // a vector to fill
char c; // one char from the file
// ** Fill v with chars from the file (there are VM chars)
for (int i = 0; i < VM; i++) {
fin >> c;
v.push_back(c);
}
// ** Put v in T[row][col]
T[row][col] = v;
} // end of while
convert函数仅将'a'转换为0,将'b'转换为1,将'c'转换为2,以使我们可以将向量放置在T
中的适当位置。 **的任何地方都应该是我们编辑和修改的部分。