#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
int main( )
{
std:: vector < std:: string > args;
unsigned time = 5 ;
std:: string temp, message, input;
args.push_back ( "-m" ) ;
std:: cout << "\n Alright, Please enter your message: " << std:: flush ;
std:: getline ( std:: cin , message) ;
std:: cout << "\n \n " ;
args.push_back ( '"' + message + '"' ) ;
std:: cout << "Please enter time: " << std:: flush ;
// Validate input until it's an actual second.
bool valid = false ;
while ( ! valid) {
std:: getline ( std:: cin , temp) ;
// Validate first five characters as digits
valid = true ;
input = "" ;
for ( unsigned i = 0 ; i < temp.length ( ) && i < 5 ; i++ )
{
if ( ! :: isdigit ( temp[ i] ) )
{
valid = false ;
}
input.push_back ( temp[ i] ) ;
}
time = atoi ( input.c_str ( ) ) ;
if ( valid && time < 1 ) {
std:: cout << "Unable to use a number less than 1 seconds!" << std:: endl ;
valid = false ;
}
if ( ! valid)
{
std:: cout << "Please enter the number of seconds." << std:: endl ;
}
}
std:: cout << "\n " ;
args.push_back ( "-t" ) ;
args.push_back ( input) ;
std:: cout << "Your " << args.size ( ) << " args are: " ;
std:: copy ( args.begin ( ) , args.end ( ) , std:: ostream_iterator < std:: string > ( std:: cout , ", " ) ) ;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx2ZWN0b3I+CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBhcmdzOwogICAgdW5zaWduZWQgdGltZSA9IDU7CiAgICBzdGQ6OnN0cmluZyB0ZW1wLCBtZXNzYWdlLCBpbnB1dDsKCiAgICBhcmdzLnB1c2hfYmFjaygiLW0iKTsKCiAgICBzdGQ6OmNvdXQgPDwgIlxuQWxyaWdodCwgUGxlYXNlIGVudGVyIHlvdXIgbWVzc2FnZTogIiA8PCBzdGQ6OmZsdXNoOwogICAgc3RkOjpnZXRsaW5lKHN0ZDo6Y2luLCBtZXNzYWdlKTsKICAgIHN0ZDo6Y291dCA8PCAiXG5cbiI7CiAgICBhcmdzLnB1c2hfYmFjaygnIicgKyBtZXNzYWdlICsgJyInKTsKCiAgICBzdGQ6OmNvdXQgPDwgIlBsZWFzZSBlbnRlciB0aW1lOiAiIDw8IHN0ZDo6Zmx1c2g7CgogICAgLy8gVmFsaWRhdGUgaW5wdXQgdW50aWwgaXQncyBhbiBhY3R1YWwgc2Vjb25kLgogICAgYm9vbCB2YWxpZCA9IGZhbHNlOwogICAgd2hpbGUgKCF2YWxpZCl7CiAgICAgICAgc3RkOjpnZXRsaW5lKHN0ZDo6Y2luLCB0ZW1wKTsKCiAgICAgICAgLy8gVmFsaWRhdGUgZmlyc3QgZml2ZSBjaGFyYWN0ZXJzIGFzIGRpZ2l0cwogICAgICAgIHZhbGlkID0gdHJ1ZTsKICAgICAgICBpbnB1dCA9ICIiOwogICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0ZW1wLmxlbmd0aCgpICYmIGkgPCA1OyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpZiAoITo6aXNkaWdpdCh0ZW1wW2ldKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbnB1dC5wdXNoX2JhY2sodGVtcFtpXSk7CiAgICAgICAgfQogICAgICAgIHRpbWUgPSBhdG9pKGlucHV0LmNfc3RyKCkpOwogICAgICAgIGlmICh2YWxpZCAmJiB0aW1lIDwgMSkgewogICAgICAgICAgICBzdGQ6OmNvdXQgPDwiVW5hYmxlIHRvIHVzZSBhIG51bWJlciBsZXNzIHRoYW4gMSBzZWNvbmRzISIgPDwgc3RkOjplbmRsOwogICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoIXZhbGlkKQogICAgICAgIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJQbGVhc2UgZW50ZXIgdGhlIG51bWJlciBvZiBzZWNvbmRzLiIgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgIH0KICAgIHN0ZDo6Y291dCA8PCAiXG4iOwogICAgYXJncy5wdXNoX2JhY2soIi10Iik7CiAgICBhcmdzLnB1c2hfYmFjayhpbnB1dCk7CgogICAgc3RkOjpjb3V0IDw8ICJZb3VyICIgPDwgYXJncy5zaXplKCkgPDwgIiBhcmdzIGFyZTogIjsKICAgIHN0ZDo6Y29weShhcmdzLmJlZ2luKCksIGFyZ3MuZW5kKCksIHN0ZDo6b3N0cmVhbV9pdGVyYXRvcjxzdGQ6OnN0cmluZz4oc3RkOjpjb3V0LCAiLCAiKSk7Cn0KCg==
stdin
VGhpcyBpcyBhIG1lc3NhZ2UuIEl0IGlzIHF1aXRlIGxvbmcuClRoaXMgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgJnF1b3Q7dGltZSZxdW90OwpTbyBpcyB0aGlzLgpUaGUgbmV4dCBvbmUgd2lsbCBzdWNjZWVkLgo1MA==
This is a message. It is quite long.
This is an invalid value for "time"
So is this.
The next one will succeed.
50