I am trying to write a function which will detect when I'm almost at the end of a stringstream, but it doesn't seem to work.
Here's some code:
std::string path(1.2.3); int number; std::stringstream ss(path); while (!ss.eof()) { if (ss.peek() != '.') { ss >> number; if (ss.tellg() == path.length()) { std::cout << "Last one: " << number; } else { std::cout << number; } } else { ss.get(); } }
I tried using ss.tellg() == path.length(), but that doesn't work. Does somebody have an alternative?
I figured it out..
std::string path(1.2.3); int number; std::stringstream ss(path); while (!ss.eof()) { if (ss.peek() != '.') { ss >> number; if (ss.tellg() == -1) { std::cout << "Last one: " << number; } else { std::cout << number; } } else { ss.get(); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With