boost::lexical_cast를 사용하면
유연한 형변환이 가능합니다!(atoi와 같은 안전하지 못한 함수는 이제 잊어도 됩니다!)
다음은 간단한 boost::lexical_cast 사용 예제입니다.(boost 만세!)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
#include <stdio.h>
#include <string>
#include <iostream>
#include "boost/lexical_cast.hpp"
int main(int argc, char **argv)
{
try
{
int a = boost::lexical_cast<int>("12345"); // 문자열을 int로 변환
printf("%d\n", a); // 12345가 출력됨
std::string b = boost::lexical_cast<std::string>(12345.5); // float를 string으로 변환
printf("%s\n", b.c_str()); // 12345.5가 출력됨
}
catch(boost::bad_lexical_cast) // 잘못된 casting의 경우 예외 처리가 가능함
{
std::cout << "bad lexical cast" << std::endl;
}
return 0;
} |
cs |
'IT노트(구) > C/C++' 카테고리의 다른 글
(C++) ifstream을 사용할 때 라인 단위로 출력하기(getline 이용) (0) | 2016.01.12 |
---|---|
(C언어) 간단한 윈도우 스레드 예제(CreateThread 이용) (1) | 2016.01.11 |
(C++) char 배열을 int로 변환하는 방법(stringstream 이용) (0) | 2016.01.10 |
(C++) cout 표준 출력 방향을 콘솔에서 파일로 전환하는 방법 (0) | 2016.01.07 |
초간단 IOCP 예제(서버/클라이언트) (0) | 2016.01.06 |