Как правильно сделать разбиение строки по пробелам и добавление в массив?
Ну если вам прямо по пробелу, и если действительно на C++, то вот:#include <iostream>
#include <sstream>
#include <vector>

int main()
{
	std::istringstream input{ "foo bar baz qux" };
	std::vector<std::string> result;

	// extract substrings one-by-one
	while (!input.eof()) {
		std::string substring;
		input >> substring;
		result.push_back(substring);
	}

	// print all the extracted substrings
	for (const std::string& substring : result) {
		std::cout << substring << std::endl;
	}
}
А вообще тут столько вариантов, что и не сосчитать (есть даже более короткий вариант с использованием std::copy).
Я не так давно реализовал свой вариант: https://github.com/vt4a2h/str_utils
Ну и в интернетах есть куча вариантов.