How to split string by space into a vector in C++

3 Answers

0 votes
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
 
int main()
{
    std::string str = "C++ is a general purpose programming language";
     
    std::istringstream iss(str);
     
    std::vector<std::string> vec;
     
    copy(std::istream_iterator<std::string>(iss),
        std::istream_iterator<std::string>(),
        back_inserter(vec));
     
    for(auto const& s : vec) {
        std::cout << s << "\n";
    }
}
 
 
 
 
/*
run:
         
C++
is
a
general
purpose
programming
language
    
*/

 

 



answered Sep 3, 2021 by avibootz
edited Mar 27, 2024 by avibootz
0 votes
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
 
std::vector<std::string> split_string_by_space_into_vector(std::string str) {
   std::istringstream iss(str);
     
    std::vector<std::string> vec;
     
    copy(std::istream_iterator<std::string>(iss),
        std::istream_iterator<std::string>(),
        back_inserter(vec)); 
        
    return vec;
}

int main()
{
    std::string str = "C++ is a general purpose programming language";

    std::vector<std::string> vec = split_string_by_space_into_vector(str);
     
    for(auto const& s : vec) {
        std::cout << s << "\n";
    }
}
 
 
 
 
/*
run:
         
C++
is
a
general
purpose
programming
language
    
*/

 



answered Mar 27, 2024 by avibootz
0 votes
#include <iostream>
#include <vector>

std::vector<std::string> split_string_by_space_into_vector(std::string str) {
    std::vector<std::string> vec;
    std::string word;
     
    for (char ch : str) {
        if (ch == ' ') {
            vec.push_back(word);
            word = "";
        } else {
            word += ch;
        }
    }
     
    vec.push_back(word);
        
    return vec;
}

int main()
{
    std::string str = "C++ is a general purpose programming language";

    std::vector<std::string> vec = split_string_by_space_into_vector(str);
     
    for(auto const& s : vec) {
        std::cout << s << "\n";
    }
}
 
 
 
 
/*
run:
         
C++
is
a
general
purpose
programming
language
    
*/

 

 



answered Mar 27, 2024 by avibootz

Related questions

1 answer 140 views
1 answer 131 views
1 answer 190 views
190 views asked Jul 17, 2020 by avibootz
1 answer 181 views
181 views asked Jun 13, 2017 by avibootz
1 answer 133 views
1 answer 94 views
94 views asked Aug 20, 2023 by avibootz
1 answer 215 views
...