- Operator >> Extracts formatted data.
- Operator << Inserts formatted data.
- Method str() Gets the contents of underlying string device object.
- Method str(string) Sets the contents of underlying string device object.
Its header file is sstream.
One common use of this class is to parse comma-separated integers from a string (e.g., "23,4,56").
stringstream ss("23,4,56");
char ch;
int a, b, c;
ss >> a >> ch >> b >> ch >> c; // a = 23, b = 4, c = 56
Here is a storage area for the discarded commas.
If the >> operator returns a value, that is a true value for a conditional. Failure to return a value is false.
Given a string of comma delimited integers, return a vector of integers.
Function Description
Complete the parseInts function in the editor below.
parseInts has the following parameters:
- string str: a string of comma separated integers
Returns
- vector<int>: a vector of the parsed integers.
Note You can learn to push elements onto a vector by solving the first problem in the STL chapter.
Input Format
There is one line of integers separated by commas.
Constraints
The length of is less than .
Sample Input
23,4,56
Sample Output
23
4
56Answer:#include <sstream>#include <vector>#include <iostream>using namespace std;
vector<int> parseInts(string str) { stringstream ss(str); //string stream object vector<int> vec; //vector declared to store values int a,b,c; int temp; char ch; if(str.length() < 800000) { while(ss) //while string stream object doesn't hit null { ss>>temp>>ch; //extract comma saperated int vec.push_back(temp); //push the integer into vector } } return vec; //return the values stored in vec}
int main() { string str; cin >> str; vector<int> integers = parseInts(str); for(int i = 0; i < integers.size(); i++) { cout << integers[i] << "\n"; } return 0;}
No comments:
Post a Comment