Needl help with getline.

Hello.

I need to make int from getline. I know with atoi. But how?

And then i need to put that int in to array.

data in file 2
1;8:00;8:00;4:30;8:00;8:00;0:00;8:00
2;8:00;8:00;4:30;2:30;7:00;0:00;8:00
3;8:00;4:30;8:00;2:30;6:00;0:00;8:00
4;8:00;4:30;7:00;8:00;5:30;0:00;4:00
5;8:00;7:00;7:00;8:00;0:00;0:00;4:00
6;8:00;7:15;8:00;8:00;3:00;0:00;4:00
7;8:00;8:00;8:00;8:00;2:00;0:00;2:00
8;8:00;8:00;8:00;8:15;1:00;0:00;2:00

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <string>
#include <cstdlib>


using namespace std;







typedef struct
{

    string Pondeli_Hodiny;
    string Pondeli_Minuty;
    string Uteri_Hodiny;
    string Uteri_Minuty;
    string Streda_Hodiny;
    string Streda_Minuty;
    string Ctvrtek_Hodiny;
    string Ctvrtek_Minuty;
    string Patek_Hodiny;
    string Patek_Minuty;
    string Sobota_Hodiny;
    string Sobota_Minuty;
    string Nedele_Hodiny;
    string Nedele_Minuty;
    string ID;

} Hodiny;


void ctiHodiny (ifstream &fromStream, Hodiny &a,  int velikost) // function for write data in file 2
{

    getline(fromStream, a.ID, ';');
    getline(fromStream, a.Pondeli_Hodiny, ':');
    getline(fromStream, a.Pondeli_Minuty, ';');
    getline(fromStream, a.Uteri_Hodiny, ':');
    getline(fromStream, a.Uteri_Minuty, ';');
    getline(fromStream, a.Streda_Hodiny, ':');
    getline(fromStream, a.Streda_Minuty, ';');
    getline(fromStream, a.Ctvrtek_Hodiny, ':');
    getline(fromStream, a.Ctvrtek_Minuty, ';');
    getline(fromStream, a.Patek_Hodiny, ':');
    getline(fromStream, a.Patek_Minuty, ';');
    getline(fromStream, a.Sobota_Hodiny, ':');
    getline(fromStream, a.Sobota_Minuty, ';');
    getline(fromStream, a.Nedele_Hodiny, ':');
    getline(fromStream, a.Nedele_Minuty, '\n');
    velikost2 = ++velikost2;






}

   bool pisHodiny (ostream &toStream, Hodiny a) // function to write in console data
{
    toStream  << a.ID  << " "  <<  a.Pondeli_Hodiny << ':' << a.Patek_Minuty  << " " << a.Uteri_Hodiny << ':' << a.Uteri_Minuty  << " " <<  a.Streda_Hodiny << ':' << a.Streda_Minuty  << " "  << a.Ctvrtek_Hodiny << ':' << a.Ctvrtek_Minuty << " " << a.Patek_Hodiny << ':'
             << a.Patek_Minuty << " " << a.Sobota_Hodiny << ':' << a.Sobota_Minuty << " " << a.Nedele_Hodiny << ':' << a.Nedele_Minuty << endl;

return true;

}





int main()
{

  
    /**
    *Otevreni vstupniho souboru obsahujici ID Zamestnance a pocet hodin odpracovanych za jednotlive dny
    */

    string name2 = ("..\\vstupnidata\\Leden.csv");

     ifstream souborHodin(name2.c_str());
    if (souborHodin == NULL)
    {
      cout << "Chyba pri otevreni souboru" << endl;
      return -1;
    }



    }

    Hodiny hodiny;
    while (!souborHodin.eof())
    {
        ctiHodiny(souborHodin, hodiny, velikost2); // call read function
        pisHodiny(cout, hodiny); //call write function


    }


    







    return 0;
}
Last edited on
You've read the file into strings, now convert the strings to stringstream and there on to int. For e.g.
1
2
3
stringstream stream(a.ID);
int x;
stream >> x; 
Ty

I create this monstrum :D
Work as I need.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
void ctiHodiny (ifstream &fromStream, Hodiny &a,  int velikost, Hodiny2 hodiny2[] )
{

    getline(fromStream, a.ID, ';');
    getline(fromStream, a.Pondeli_Hodiny, ':');
    getline(fromStream, a.Pondeli_Minuty, ';');
    getline(fromStream, a.Uteri_Hodiny, ':');
    getline(fromStream, a.Uteri_Minuty, ';');
    getline(fromStream, a.Streda_Hodiny, ':');
    getline(fromStream, a.Streda_Minuty, ';');
    getline(fromStream, a.Ctvrtek_Hodiny, ':');
    getline(fromStream, a.Ctvrtek_Minuty, ';');
    getline(fromStream, a.Patek_Hodiny, ':');
    getline(fromStream, a.Patek_Minuty, ';');
    getline(fromStream, a.Sobota_Hodiny, ':');
    getline(fromStream, a.Sobota_Minuty, ';');
    getline(fromStream, a.Nedele_Hodiny, ':');
    getline(fromStream, a.Nedele_Minuty, '\n');
    velikost2 ++;


    stringstream stream(a.ID);
    stringstream stream1(a.Pondeli_Hodiny);
    stringstream stream2(a.Pondeli_Minuty);
    stringstream stream3(a.Uteri_Hodiny);
    stringstream stream4(a.Uteri_Minuty);
    stringstream stream5(a.Streda_Hodiny);
    stringstream stream6(a.Sobota_Minuty);
    stringstream stream7(a.Ctvrtek_Hodiny);
    stringstream stream8(a.Ctvrtek_Minuty);
    stringstream stream9(a.Patek_Hodiny);
    stringstream stream10(a.Patek_Minuty);
    stringstream stream11(a.Sobota_Hodiny);
    stringstream stream12(a.Sobota_Minuty);
    stringstream stream13(a.Nedele_Hodiny);
    stringstream stream14(a.Nedele_Minuty);

    string x;
    string b;
    string c;
    string d;
    string e;
    string f;
    string g;
    string h;
    string i;
    string j;
    string k;
    string l;
    string m;
    string n;
    string o;

    stream >> x;
    stream1 >> b;
    stream2 >> c;
    stream3 >> d;
    stream4 >> e;
    stream5 >> f;
    stream6 >> g;
    stream7 >> h;
    stream8 >> i;
    stream9 >> j;
    stream10 >> k;
    stream11 >> l;
    stream12 >> m;
    stream13 >> n;
    stream14 >> o;

    hodiny2[velikost2].ID = x;
    hodiny2[velikost2].Pondeli_Hodiny =b;
    hodiny2[velikost2].Pondeli_Minuty =c;
    hodiny2[velikost2].Uteri_Hodiny =d;
    hodiny2[velikost2].Uteri_Minuty =e;
    hodiny2[velikost2].Streda_Hodiny =f;
    hodiny2[velikost2].Streda_Minuty =g;
    hodiny2[velikost2].Ctvrtek_Hodiny =h;
    hodiny2[velikost2].Ctvrtek_Minuty =i;
    hodiny2[velikost2].Patek_Hodiny = j;
    hodiny2[velikost2].Patek_Minuty =k;
    hodiny2[velikost2].Sobota_Hodiny =l;
    hodiny2[velikost2].Sobota_Minuty =m;
    hodiny2[velikost2].Nedele_Hodiny =n;
    hodiny2[velikost2].Nedele_Minuty =o;


Last edited on
Topic archived. No new replies allowed.