Jak stworzyć z stringa tablicę dwóch liczb w c++ , wiem że w c# służy do tego metoda Split(' ')
string[] tekst = Console.ReadLine().Split(' ');
np.:
a bb
abs sfd
ewr w
wqeqweqweq eqweqwe
Jak stworzyć z stringa tablicę dwóch liczb w c++ , wiem że w c# służy do tego metoda Split(' ')
string[] tekst = Console.ReadLine().Split(' ');
np.:
a bb
abs sfd
ewr w
wqeqweqweq eqweqwe
zawsze możesz się posłużyć substr
https://en.cppreference.com/w/cpp/string/basic_string/substr
w sensie chodzi mi jak stworzyć po dwa łancuchy znakow oddzielone spacją, czy musze tworzyć dwie tablice char i wczytać je cin.getline()? czy mogę to zrobić na jednym stringu?
Użyj std::stringstream
do podzielenia stringa na elementy.
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
std::vector<std::string> split(const std::string& src, char delim) {
std::vector<std::string> words;
std::istringstream iss{ src };
std::string tmp;
while (std::getline(iss, tmp, delim)) {
words.push_back(tmp);
}
return words;
}
int main() {
std::string str{ "Ala ma kota, a kot..." };
auto words = split(str, ' ');
for (auto const& word : words) {
std::cout << word << '\n';
}
}
https://wandbox.org/permlink/mh1tgQHUATlbKT1n
https://en.cppreference.com/w/cpp/string/basic_string
https://en.cppreference.com/w/cpp/io/basic_istringstream
https://en.cppreference.com/w/cpp/container/vector