|
file_demoC++.cpp
| |
1 #include <iostream>
2 #include <fstream>
3 #include <map>
4 #include <vector>
5
6 using namespace std;
7
8 struct adat
9 {
10 string act;
11 int h;
12 };
13
14 struct szotar_adat
15 {
16 int a, b;
17 string nev; // pl.: 5 6 Béla 10
18 int c;
19 };
20
21 int main()
22 {
23 setlocale(LC_ALL, "");
24 vector<adat> StructAdat;
25 vector<vector<int>> szamok;
26 ofstream fki; // fájlváltozó kiíráshoz (o - output)
27 fki.open("teszt.txt");
28 // kiírás úgy megy, mintha a képernyőre írnánk...
29 cout << "------------------------- Kiírás a teszt.txt-be! -------------------------" << endl;
30 fki << "nyitás\n";
31 fki << "zárás\n";
32 fki << "nyitvatartás\n";
33 fki.close();
34
35 cout << "------------------------- Olvasás a teszt.txt-ből! -------------------------" << endl;
36 ifstream fbe; // fájlváltozó olvasáshoz (i - input)
37 fbe.open("teszt.txt");
38 string sor;
39 while(getline(fbe,sor)) // egy teljes sort olvas be, de az entert nem, addig amíg van sor...
40 cout << sor << endl;
41
42 fbe.close();
43
44
45 cout << "------------------------- Olvasás a teszt2.txt-ből egy struktúra elemű vektorba! -------------------------" << endl;
46 adat temp;
47 fbe.open("teszt2.txt");
48 while(fbe>>temp.act and fbe>>temp.h)
49 {
50 StructAdat.push_back(temp);
51 //cout << temp.act << " " << temp.h << endl;
52 }
53 fbe.close();
54 for(auto &elem:StructAdat)
55 {
56 cout << elem.act << " " << elem.h << endl;
57 }
58 cout << "------------------------- Olvasás a teszt3.txt-ből egy mátrixba! -------------------------" << endl;
59 // fájlváltozó olvasáshoz (i - input)
60 fbe.open("teszt3.txt");
61
62 int temp_szam;
63 vector<int> v;
64 int i=0;
65 while(fbe>>temp_szam)
66 {
67 v.push_back(temp_szam);
68 i++;
69 if(i%5==0)
70 {
71 szamok.push_back(v);
72 v.clear();
73 i=0;
74 }
75 }
76
77 for(auto &vect:szamok)
78 {
79 for(auto &elem:vect)
80 {
81 cout << elem << " ";
82 }
83 cout << endl;
84 }
85
86 fbe.close();
87
88 cout << "------------------------- Olvasás a teszt4.txt-ből egy szótárba! -------------------------" << endl;
89 // fájlváltozó olvasáshoz (i - input)
90 fbe.open("teszt4.txt");
91
92 map<int,vector<szotar_adat>> szotar; // ez lesz a szótárunk: kulcs integer, bejegyzés vektor
93 szotar_adat temp_sz; // ebbe olvassuk be a fájl sorait ideiglenesen
94 int id; // ez lesz a szótárunk kulcsa: az első adat egy sorból
95 while(fbe>>id&&fbe>>temp_sz.a&&fbe>>temp_sz.b&&fbe>>temp_sz.nev&&fbe>>temp_sz.c)
96 {
97 szotar[id].push_back(temp_sz); // szótár feltöltése: a szótár "bejegyzése" egy vector, az adott fájlsorból képezve...
98 }
99 fbe.close();
100
101 for(auto elem:szotar)
102 {
103 cout << elem.first << ":" << endl; // first a kulcs
104 for(auto e:elem.second) // second a kulcshoz tartozó vektor
105 {
106 cout << e.a << " " << e.b << " " << e.nev << " " << e.c << endl;
107 }
108 cout << "----------------------" << endl;
109 }
110
111 return 0;
112 }