Cześć, mam taki problem, że chce wyświetlić dane wczytane z pliku a tego nie robi (dane są zapisane w pliku.txt w postaci <int> <int> <double> <string>). Siedzę nad tym od dłuższego czasu i nie widzę przyczyny.
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <string>
#include <vector>
struct plikWejsciowy {
int skrzyzowanie1{};
int skrzyzowanie2{};
double dlUlicy{};
std::string nazwaUlicy{};
};
std::vector<plikWejsciowy> ZaladujPlikWejsciowy(const std::string& nazwaPliku) {
std::vector<plikWejsciowy> wynik;
std::ifstream w(nazwaPliku);
if (w) {
std::string linia;
while (std::getline(w, linia)) {
if (linia.length() == 0) break;
std::stringstream ss(linia);
std::string sk1, sk2, dlU, nU;
std::getline(ss, sk1, ',');
std::getline(ss, sk2, ',');
std::getline(ss, dlU, ',');
std::getline(ss, nU, ',');
wynik.push_back({ stoi(sk1), stoi(sk2), stod(dlU), nU });
}
w.close();
}
std::cout << "Zaladowano plik wejsciowy" << std::endl;
return {};
}
void Wyswietl(const plikWejsciowy& p) {
std::cout << p.skrzyzowanie1 << " " << p.skrzyzowanie2 << " " << p.dlUlicy << " " << p.nazwaUlicy << std::endl;
}
void WyswietlPlikWejsciowy(const std::vector<plikWejsciowy>& p) {
for (const auto& el : p) {
Wyswietl(el);
}
}
int main() {
std::string nazwaPliku1 = "plikWe.txt";
auto plikUlic = ZaladujPlikWejsciowy(nazwaPliku1);
WyswietlPlikWejsciowy(plikUlic);
}