Zmiana wartości tablicy string na int

0

Cześć, mam problem z zamianą w wartości w tablicy dwuwymiarowej - string na int. Moglibyście na to zerknąć.
Poniżej zamieszaczam kod.

Tablica w pliku:
o o o m m o o o
o o o m o o o o
m m o o o o o o
o o o o o o o o

#include <iostream>
#include <fstream>
#include <string>

using namespace std;
int tabx[4][8];
int main()
{
ifstream Records("tablica.txt");
string tab1[4][8];
if (Records.is_open())
{
while (Records.good())
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 8; j++)
{
getline(Records, tab1[i][j], ' ');
//cout << tab1[i][j] << " ";
}
}
}
Records.close();
}
else cout << "Nie mozna otworzyc pliku";
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 8; j++)
{
cout << tab1[i][j];
}
}
cout << endl << endl << "Zamieniam tablice char na int" << endl;
for (int i = 0; i < 4; i++){
for (int j = 0; j < 8; j++){
if (tab1[i][j] == "m")
{
tabx[i][j] = 1;
}
if (tab1[i][j] == "o")
{
tabx[i][j] = 0;
}
}
}
for (int i = 0; i < 4; i++){
cout << endl;
for (int j = 0; j < 8; j++){
cout << tabx[i][j];
}
}
cout << endl;
system("pause");
return 0;
}

Nie wiem dlaczego zamiana znaków jest tylko w 1 wierszu.

0
    ifstream Records("tablica.txt");
    char tab1[4][8];
    if (Records)
    {
            for (int y = 0; y < 4; ++y)
            {
                for (int x = 0; x < 8; ++x)
                {
                    cin>>ws>>tab1[y][x]; // ws - <iomanip>
                    cout << (int)tab1[y][x] << " ";
                }
        }
        Records.close();
    }
...
0

Kurde nie korzystałem jeszcze z atoi, i nie czaję a co chodzi mógłbyś mnie trochę naprowadzić. Zdradzę że jestem bardzo początkujący :)

0
  1. A po kiego ci atoi?
  2. Czyżby w dokumentacji nie było przykładu?

1 użytkowników online, w tym zalogowanych: 0, gości: 1