【STL】Stringのいくつかの一般的なタイプ変換


#include <iostream>
#include <boost/lexical_cast.hpp> 

int main(int argc, char *argv[], char *env[])
{
	// 1. c++ string int   
	// 1.1       ,  atoi  strtol
	{
		std::string text = "152";
		int number = std::atoi(text.c_str()); 
		std::cout << number << std::endl;
	}

	// 1.2  Boost   ,  lexical_cast
	try
	{
		std::string text = "100000000";
		int number = boost::lexical_cast<int>(text);
		std::cout << number << std::endl;
	}
	catch(const boost::bad_lexical_cast &e)
	{
		//    
		std::cout << e.what() << std::endl;
	}               

	// 2. char* string
	{
		char *c = "Test char!!!";
		std::string str(c);
		std::cout << str << std::endl;
	}

	// 3. string char*
	{
		std::string str = "Test String!!!";
		const char *c = str.c_str();
		std::cout << c << std::endl;
	}
	
}