2006년 1월 23일 월요일

C++ 숫자를 문자열에 대입(formatted string)

방법 1)
sprintf, snprintf를 이용하여 char*에 넣는 다.
sprintf(char *, "%d or %f", 숫자);

단점 : char*를 매번 new, delete해야하므로 번거롭다.

방법 2)
VC++의 CString::Format() Method를 이용한다.

방법 3) STL std::stringstream 이용하기
#include
#include

std::string s;
std::stringstream ss;
ss << "pi = " << 3.1416f << std::endl;
std::cout << ss.str();
s = ss.str();

단점 : 방법 1보다 코드가 짧다고 말하기 어렵다.

방법 4)
http://www.codeproject.com/
-> http://www.codeproject.com/string/stdstring.asp
CString-clone Using Standard C++
STL의 basic_string을 상속한 것임.
Format, trim 등의 기능이 들어 있음.

방법 5)
boost -> format
http://www.boost.org/libs/format/index.html

댓글 2개:

  1. 우리팀에선 아예 snprintf 써서 MFC에 format이란 놈이랑 비슷한거 하나 만들어서 사용중. 코드 필요하면 연락바람 :)

    답글삭제
  2. 응. thx~ ^^;

    아직 네오위즈 있는 건가?

    네오위즈 기반기술팀이나 연구소 어딘가가면

    NCM(Neowiz Component Model)이라는 게 있고

    거기에도 아마 비슷한 소스가 있었던 것 같군.;

    (회사 나오기 직전에 마지막으로 일하던 팀이었지.)

    답글삭제