Boost logo

Boost Users :

Subject: [Boost-users] Concatenating int value to string ..??
From: Rahul Mathur (srivmuk_at_[hidden])
Date: 2013-11-02 04:44:18


All,

I wish to have string (combination of string value and int value) which
increments until 100. The code is as below -

---
#include <iostream>
#include <cstdlib>
#include <string>
#include <boost/lexical_cast.hpp>
using namespace std;
int main() {
        std::string TID = "Apple";
        int TagID = 01, Value = 000 /* 100 IDs*/;
        std::string TagName, TagInitial, TagUId;
        TagName = TID + boost::lexical_cast<std::string>(TagID); // Should
be as -> Apple01
        TagInitial = TagName + boost::lexical_cast<std::string>(Value); //
Should be as -> Apple01000
        int i = boost::lexical_cast<int>(TagInitial) + 1; // Should be as
-> Apple01001
        TagUId = boost::lexical_cast<std::string>(i);
        std::cout << "Tag ID .." << TagUId << endl;
}
I get below error message -
--
terminate called after throwing an instance of
'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_lexical_cast>
>'
  what():  bad lexical cast: source type value could not be interpreted as
target
Aborted (core dumped)
--
Any clue?
~ Thanks!!


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net