
On Saturday 02 November 2013 14:14:18 Rahul Mathur wrote:
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_inj ector<boost::bad_lexical_cast>
'
what(): bad lexical cast: source type value could not be interpreted as target Aborted (core dumped) --
Any clue?
Apple01000 cannot be interpreted as an integer, that's why boost::lexical_cast<int>(TagInitial) throws.