#include <iostream>
#include <string>
int main()
{
std::string Track2 = ";80221000000100018A1301000000000000000?";
std::string end_character = "?";
std::cout << "Before: Track2 = \"" << Track2 << "\"\n";
if (Track2.length() > 24)
{
auto question_mark_pos = Track2.find_first_not_of('0', 24);
// If there is a character after the zeros AND
// if that character is last AND
// if that character is a question mark
if (question_mark_pos != std::string::npos &&
question_mark_pos == Track2.length() - 1 &&
Track2[question_mark_pos] == '?')
{
// Get the first 24 characters of the string
Track2 = Track2.substr(0, 24);
// And append the special end character
Track2 += end_character;
}
}
std::cout << "After: Track2 = \"" << Track2 << "\"\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnN0cmluZyBUcmFjazIgPSAiOzgwMjIxMDAwMDAwMTAwMDE4QTEzMDEwMDAwMDAwMDAwMDAwMDA/IjsKICAgIHN0ZDo6c3RyaW5nIGVuZF9jaGFyYWN0ZXIgPSAiPyI7CgogICAgc3RkOjpjb3V0IDw8ICJCZWZvcmU6IFRyYWNrMiA9IFwiIiA8PCBUcmFjazIgPDwgIlwiXG4iOwoKICAgIGlmIChUcmFjazIubGVuZ3RoKCkgPiAyNCkKICAgIHsKICAgICAgICBhdXRvIHF1ZXN0aW9uX21hcmtfcG9zID0gVHJhY2syLmZpbmRfZmlyc3Rfbm90X29mKCcwJywgMjQpOwogICAgCiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBjaGFyYWN0ZXIgYWZ0ZXIgdGhlIHplcm9zIEFORAogICAgICAgIC8vIGlmIHRoYXQgY2hhcmFjdGVyIGlzIGxhc3QgQU5ECiAgICAgICAgLy8gaWYgdGhhdCBjaGFyYWN0ZXIgaXMgYSBxdWVzdGlvbiBtYXJrCiAgICAgICAgaWYgKHF1ZXN0aW9uX21hcmtfcG9zICE9IHN0ZDo6c3RyaW5nOjpucG9zICYmCiAgICAgICAgICAgIHF1ZXN0aW9uX21hcmtfcG9zID09IFRyYWNrMi5sZW5ndGgoKSAtIDEgJiYKICAgICAgICAgICAgVHJhY2syW3F1ZXN0aW9uX21hcmtfcG9zXSA9PSAnPycpCiAgICAgICAgewogICAgICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IDI0IGNoYXJhY3RlcnMgb2YgdGhlIHN0cmluZwogICAgICAgICAgICBUcmFjazIgPSBUcmFjazIuc3Vic3RyKDAsIDI0KTsKICAgIAogICAgICAgICAgICAvLyBBbmQgYXBwZW5kIHRoZSBzcGVjaWFsIGVuZCBjaGFyYWN0ZXIKICAgICAgICAgICAgVHJhY2syICs9IGVuZF9jaGFyYWN0ZXI7CiAgICAgICAgfQogICAgfQoKICAgIHN0ZDo6Y291dCA8PCAiQWZ0ZXI6IFRyYWNrMiA9IFwiIiA8PCBUcmFjazIgPDwgIlwiXG4iOwoKfQo=