我试图将txt文件读取到我的char数组[9] [9]。 我尝试了其他主题的一些提示,但它们没有用。
所以,我有一个像这样的示例file.txt,我保存了自己,像这样: 它是9x9
123------
---456---
------789
等等,这里的空格是''而不是' - '。 当我试图读取它并再次将它放到我的数组中时,它显示如下:
123456789。
这是我的代码:
system("cls");
ifstream sudoku_read;
string name_read;
cout << "Put a text name: "
getline(cin, name_read);
sudoku_read.open(name_read, ios::in | ios::binary);
for (int i = 0; i < 9;i++)
{
for (int j = 0; j < 9; j++)
{
sudoku_read >> tab[j][i].number;
}
}
我也尝试了noskipws,但它无法正常工作。
答案 0 :(得分:0)
char crs[100];
unsigned vindex = 0;
std::stringstream ss;
ss = sudoku_read.rdbuf();
std::string flstr = ss.str();
for(int i=0; i<strlen(flstr); i++){
if(flstr[i] != ' '){
crs[vindex++] = flstr[i];
}
}
vindex = 0;
for (int i = 0; i < 9;i++)
{
for (int j = 0; j < 9; j++)
{
tab[j][i].number = crs[vindex++] - '0'; //watch out it should be [i][j] by convention
}
}
我按惯例设置crs&#39;由于未指定,因此大小为100。
假设: