2015년 10월 14일 수요일

C/C++ 문자열 Format String 쓰는 방법.

오늘 포스팅 할 내용은 C/C++ 에서 문자열 Format String 쓰는법입니다.

전통적인 C 스타일로 하는 방법과 STL string 을 활용 하는 방법으로 설명하겠습니다.

간단한 예로 10 이라는 값을 10자리로 앞에 비어있는 곳은 0으로 패딩하는법을 설명 드리겠습니다.

<예>
 [C Style]
 
  char szBuffer[32] = {0, };
  sprintf(szBuffer, "%010d", 10);

 [STL string 활용]
 // string 으로 format 을 활용하는 방법은 여러가지가 있으나 간단한 방법으로 접근 한다.
 std::string strPaddingNum;

 strPaddingNum.resize(32);
 sprintf((char*)strPaddingNum.c_str(), "%010d", 10);

 위와 같이 쓰면 결과는 $strPaddingNum 에  "0000000010" 와 같은 값이 들어 가게 됩니다.

 기본적은 프로그래밍 서적에 보시면 printf 에 매칭 되는 타입은 나와 있는데

 기본 타입에 관해서만 나열하겠습니다.

 %d => int , long 타입.
 %s => 문자열 타입
 %f => float, double
 %c => char
 %x => 16진수 소문자 형태로 출력.