Я сохраняю логическую матрицу (ROW * ROW) в .txt файл (формат 0,1).Как читать файл
Как я мог прочитать матрицу из файла? Я написал код ниже, но я сравниваю результаты чтения с файлом, и результаты массива не соответствуют файлу. Может ли кто-нибудь сказать мне, где я написал не так? Или есть ли более простые способы прочитать файл матрицы?
bool **results = new bool*[ROW];
for(int i=0;i<ROW;i++){
results[i] = new bool[ROW];
}
ifstream infile;
infile.open ("FRM.txt");
string line;
int row=0;
if (infile.is_open())
{
while (infile.good())
{
getline(infile,line);
istringstream iss(line);
int col=0;
while(iss)
{
string word;
iss >> word;
int number = atoi(word.c_str());
if(number==1){
results[row][col] = true;
}
else{
results[row][col] = false;
}
col++;
}
row++;
}
}
infile.close();
Пожалуйста StD :: COUT слово. –
Я знаю, где проблема. Когда я сохранил матрицу, после каждого номера есть пробел. Поэтому, когда я читаю строку, у меня есть что-то вроде «0 1 1 1», последнее пробелы вызвало ошибку. Потому что «строковое слово» фактически обработает «» и сочтут его целым числом. –