В прошлом вопросе ты спрашивал про частный случай для 2 слов, а в эмуляторе терминала их может быть больше, допустим cat file1 file2 > file3. Если делать просто, то используй std::stringstream, инициализируешь его строкой и по слову сохраняешь в list или vector.
#include <iostream>
#include <sstream>
#include <list>
using std::cout;
using std::endl;
int main() {
std::string str = "cat file1 > file2";
std::stringstream ss(str);
std::list<std::string> tokens;
std::string tmpString;
while(ss >> tmpString)
tokens.push_back(tmpString);
for(auto token : tokens)
cout << token << endl;
return 0;
}
И прошу как можно проще я новичок и код который мне кинули в прошлом вопросе я даже не понял а я не могу использовать код который не понимаю не по моему это
это правильно, в программировании нет места магии :)
spoilerну если только совсем чуть-чуть
P.S. на в таком случае будет сложно обрабатывать подобный случай rm -rf "/home/user/some dir" когда в одном из аргументов есть пробел