Utworzenie z stringa tablicy dwoch liczb

0

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
0

zawsze możesz się posłużyć substr

https://en.cppreference.com/w/cpp/string/basic_string/substr

0

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?

2

Użyj std::stringstream do podzielenia stringa na elementy.

0
#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

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