podział stringa części po znaku ";"

0

Witam Was

Mam problem z podziałem stringa na części, do stringa jest wczytana linia z pliku CSV, więc każda składowa rozdzielona jest znakiem ";". Poszczególne części chciałbym zapisać w komórkach tablicy string. Coś na wzór:

String wiersz = "Text1;Text2;Text3;
String x[3];
x[0] = Text1;
x[2] = Text2;
x[3] = Text3;

Czy możecie mnie wspomóc z tej kwestii ? Przejrzałem google jednak nie mogę znaleźć satysfakcjonującego rozwiązania.

0
std::string input = "Text1;Text2;Text3", current;
std::istringstream iss(input);
std::vector<std::string> vinput;
while(std::getline(iss, current, ';'))
    vinput.push_back(current);

for(std::string s : vinput)
    std::cout << s << std::endl; 
0

Nie mogę sobie poradzić, niby prosty przykład i jest troszkę materiałów w sieci.

0

Przecież podałem Ci jedną z możliwości zrealizowania takiego splita. Zatem w czym masz problem?

0

W linii for(std::string s : vinput)

Kompilator zgłasza błąd:

[C++ Error] Unit1.cpp(46): E2108 Improper use of typedef 'string'

0

Zamień tego fora na "zwykłego" fora.

 for(std::vector<std::string>::const_iterator it = vinput.begin(); it != vinput.end(); it++)
  std::cout << *it << std::endl;

ewentualnie

 for(size_t i = 0; i < vinput.size(); i++)
  std::cout << vinput[i] << std::endl;
0

Wielkie dzięki, właśnie o to mi chodziło. Może dla kogoś kto jest biegły w programowaniu jest to proste - ja niestety nie potrafię operować na stringach.

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