我正在创建一个vector<vector<char>>
from char 数组,如下所示:
typedef vector<vector<char>> board;
...
char row0[] = {'X', '-', '-', '-', '-', '-', '-', '-', '-', 'X'};
char row1[] = {'-', 'X', '-', '-', '-', '-', '-', '-', 'X', '-'};
char row2[] = {'-', '-', 'X', '-', '-', '-', '-', 'X', '-', '-'};
char row3[] = {'-', '-', '-', 'X', '-', '-', 'X', '-', '-', '-'};
char row4[] = {'-', '-', '-', '-', 'X', 'X', '-', '-', '-', '-'};
char row5[] = {'-', '-', '-', '-', 'X', 'X', '-', '-', '-', '-'};
char row6[] = {'-', '-', '-', 'X', '-', '-', 'X', '-', '-', '-'};
char row7[] = {'-', '-', 'X', '-', '-', '-', '-', 'X', '-', '-'};
char row8[] = {'-', 'X', '-', '-', '-', '-', '-', '-', 'X', '-'};
char row9[] = {'X', '-', '-', '-', '-', '-', '-', '-', '-', 'X'};
vector<char> v0(row0[0], row0[9]);
vector<char> v1(row1[0], row1[9]);
vector<char> v2(row2[0], row2[9]);
vector<char> v3(row3[0], row3[9]);
vector<char> v4(row4[0], row4[9]);
vector<char> v5(row5[0], row5[9]);
vector<char> v6(row6[0], row6[9]);
vector<char> v7(row7[0], row7[9]);
vector<char> v8(row8[0], row8[9]);
vector<char> v9(row9[0], row9[9]);
board test;
test.push_back(v0);
test.push_back(v1);
test.push_back(v2);
test.push_back(v3);
test.push_back(v4);
test.push_back(v5);
test.push_back(v6);
test.push_back(v7);
test.push_back(v8);
test.push_back(v9);
这样做后,我希望看到印制板看起来像原始的 char 数组。但是,它的打印是这样的:
X X X X X X X X X X
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
X X X X X X X X X X
我哪里错了?
编辑:这是我打印电路板的方式:
void printBoard(Board b){
for (int r = 0; r <10; r++){
cout << "\n";
for (int c = 0; c <10; c++){
cout << b[r][c] << " ";
}
}