Comma separated string to Array in C++

Hello, guys in this tutorial we will learn how to insert comma-separated string to an array in C++. To understand a topic we need to look at some examples.

Convert comma separated string to array in C++

Example 1

input
string s="i,love,my,country,very,much"

output
i
love
my
country
very
much


Example 2

input
string s="i,like,coding"

output
i
like
coding

We need to understand something before moving further.

getline()

It is a function that comes under <string> header file. It used to read string but it is different because it read the whole line no matter blank spaces between a string.

#include<iostream>
#include<string>
using namespace std;

int main()
{
  string s;   // declare string variable
  
  cin>>s;    //taking string as input
  
  cout<<s<<endl;  //printing string
  
  
}
input

Hello world

output

Hello

 

Notice one thing in above we have given “Hello world” as input but the output is “Hello”  it is because whenever there is space encounter between string compiler thinks a line is over so it does not take rest of string so to overcome this problem we use getline() function.

#include<iostream>
#include<string>
using namespace std;

int main()
{
  string s;    //declare a string variable
  
  getline(cin,s);  // calling getline fuction
  
  cout<<s<<endl;   //printing a string
   
  
}
input
Hello world
output
Hello world

In the above example, the whole string is printed

String stream

The string stream is a class that works with strings and it comes under <sstream> header file We can read the string through its object. We will use good() function that will check if the string stream is error-free or not.

Code-

#include <vector>
#include <string>
#include <sstream>
#include <iostream>
using namespace std;

int main()
{
    string s="i,love,my,country,very,much";   //declare a string

    string answer[6];  // string array to store the result

    stringstream string_stream(s);  // creating string stream object
   
   int i=0;            // declaring i and assign  to 0
   
   while(string_stream.good())   // loop will continue if string stream is error free
   {
   	
   	 
   	 string a;       
    getline( string_stream, a, ',' );   //calling getline fuction
    answer[i]=a;
   	i++;
   	
   }
   
   
   for(i=0;i<6;i++)
   {
   	cout<<answer[i]<<endl;   // printing a result
   }
    return 0;
}

 

output
i
love
my
country
very
much

Also read:

Leave a Reply

Your email address will not be published. Required fields are marked *