The std::istringstream is a string class object which is used to stream the string into different variables and similarly files can be stream into strings. Objects of this class use a string buffer that contains a sequence of characters. This sequence of characters can be accessed as a string object.
1. Streaming integer from a string with std::istringstream
One way to stream a string is to use an input string stream object std::istringstream from the header. Once a std::istringstream object has been created, then the string can be streamed and stored using the extraction operator(>>). The extraction operator will read until whitespace is reached or until the stream fails.
Below is the illustration of the std::istringstream:
The std::istringstream object can also be used as a boolean to determine if the last extraction operation failed. This happens if there wasn’t any more of the string to the stream, For Example, If the stream still has more characters then we are able to stream the string again.
The extraction operator >> writes the stream to the variable on the right of the operator and returns the std::istringstream object, so the entire expression my_stream >> n is a std::istringstream object which returns a boolean i.e., true if stream is possible else return false.
Below is the implementation of using the std::istringstream in the above way:
That stream was successful: 1 That stream was successful: 2 That stream was successful: 3 That stream was NOT successful!
2. Strings with Mixed Types
In the above illustrations, the string contains only whitespaces and characters which could be converted to int. If the string has mixed types i.e., it contains more than one data type in the stream then it can be used as illustrated below.
Below is the illustration of the std::istringstream for the mixed types:
That stream was successful: 1, That stream was successful: 2, The stream has failed.
abc def ghi
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Find the numbers of strings that can be formed after processing Q queries
- Check if two strings after processing backspace character are equal or not
- String after processing backspace characters
- Pairs of complete strings in two sets of strings
- Search in an array of strings where non-empty strings are sorted
- Meta Strings (Check if two strings can become same after a swap in one string)
- Number of common base strings for two strings
- Count of strings that become equal to one of the two strings after one removal
- Count of distinct Strings possible by swapping prefixes of pairs of Strings from the Array
- Distinct strings such that they contains given strings as sub-sequences
- Count of same length Strings that exists lexicographically in between two given Strings
- Check whether two strings can be made equal by reversing substring of equal length from both strings
- Print all Strings from array A having all strings from array B as subsequence
- Search strings with the help of given pattern in an Array of strings
- Print all strings of maximum length from an array of strings
- Minimum cost to sort strings using reversal operations of different costs
- Count of strings that can be formed using a, b and c under given constraints
- Count number of strings (made of R, G and B) using given combination
- C++ Program to concatenate two strings using Operator Overloading
- Sorting array of strings (or words) using Trie
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.