#include <cstdio>
#include <iostream>
void test(const char * ref, const char * fmt)
{
std::cout << "fmt: \"" << fmt << "\" ref: \"" << ref << "\"" << std::endl;
int number;
int offset = 0;
int ret = std::sscanf(ref, fmt, &number, &offset);
std::cout << " - Returned: " << ret << " Offset: " << offset << " Number: " << number << std::endl;
}
int main(int argc, char* argv[])
{
test("123456", "%d %n");
test("123456", "%d%n");
test("123456 ", "%d %n");
test("123456 ", "%d%n");
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKCnZvaWQgdGVzdChjb25zdCBjaGFyICogcmVmLCBjb25zdCBjaGFyICogZm10KQp7CglzdGQ6OmNvdXQgPDwgImZtdDogXCIiIDw8IGZtdCA8PCAiXCIgIHJlZjogXCIiIDw8IHJlZiA8PCAiXCIiIDw8IHN0ZDo6ZW5kbDsKCWludCBudW1iZXI7CiAgICBpbnQgb2Zmc2V0ID0gMDsKICAgIGludCByZXQgPSBzdGQ6OnNzY2FuZihyZWYsIGZtdCwgJm51bWJlciwgJm9mZnNldCk7CiAgICBzdGQ6OmNvdXQgPDwgIiAtIFJldHVybmVkOiAiIDw8IHJldCA8PCAiICBPZmZzZXQ6ICIgPDwgb2Zmc2V0IDw8ICIgIE51bWJlcjogIiA8PCBudW1iZXIgPDwgc3RkOjplbmRsOwp9CgoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKewogICAgdGVzdCgiMTIzNDU2IiwgIiVkICVuIik7CiAgICB0ZXN0KCIxMjM0NTYiLCAiJWQlbiIpOwogICAgdGVzdCgiMTIzNDU2ICAiLCAiJWQgJW4iKTsKICAgIHRlc3QoIjEyMzQ1NiAgIiwgIiVkJW4iKTsKfQ==