#include <iostream>
#include <sstream>
using namespace std;
int main() {
int var = -1;
std::istringstream stream("3.5");
if (stream >> var) // at this point, the input stream allows "3" to be parsed
{
std::cout << "Reading succeeded, var = " << var << "\n";
}
else
{
std::cout << "Reading didn't succeed, var = " << var << "\n";
}
if (stream >> var) // at this point, the input stream tries to fit ".5" into var, which fails
{
std::cout << "Reading succeeded, var = " << var << "\n";
}
else
{
std::cout << "Reading didn't succeed, var = " << var << "\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaW50IHZhciA9IC0xOwoJc3RkOjppc3RyaW5nc3RyZWFtIHN0cmVhbSgiMy41Iik7CglpZiAoc3RyZWFtID4+IHZhcikgLy8gYXQgdGhpcyBwb2ludCwgdGhlIGlucHV0IHN0cmVhbSBhbGxvd3MgIjMiIHRvIGJlIHBhcnNlZAoJewoJICAgIHN0ZDo6Y291dCA8PCAiUmVhZGluZyBzdWNjZWVkZWQsIHZhciA9ICIgPDwgdmFyIDw8ICJcbiI7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAJc3RkOjpjb3V0IDw8ICJSZWFkaW5nIGRpZG4ndCBzdWNjZWVkLCB2YXIgPSAiIDw8IHZhciA8PCAiXG4iOwoJfQoJaWYgKHN0cmVhbSA+PiB2YXIpIC8vIGF0IHRoaXMgcG9pbnQsIHRoZSBpbnB1dCBzdHJlYW0gdHJpZXMgdG8gZml0ICIuNSIgaW50byB2YXIsIHdoaWNoIGZhaWxzCgl7CgkgICAgc3RkOjpjb3V0IDw8ICJSZWFkaW5nIHN1Y2NlZWRlZCwgdmFyID0gIiA8PCB2YXIgPDwgIlxuIjsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgIAlzdGQ6OmNvdXQgPDwgIlJlYWRpbmcgZGlkbid0IHN1Y2NlZWQsIHZhciA9ICIgPDwgdmFyIDw8ICJcbiI7Cgl9Cn0=