프로그래밍 중에 텍스트 파일에서 16진수 형태의 문자열을 읽어와서 정수형으로 변환해 줘야 할 경우가 종종 발생합니다. 이러한 경우에 다음과 같은 stringstream 클래스를 사용하면 매우 간단하게 구현할 수 있습니다.
stringstream 클래스 객체를 생성하면서 인자로 변환할 문자열 값을 넣어주고, 오퍼레이터 연산자(>>)를 사용하여 헥스 값으로 변환할 수 있습니다. 반대로 헥스 값에서 문자열을 추출하고 싶다면 오퍼레이터 연산자를 반대로 사용한 뒤, str() 메소드를 호출하면 문자열 값을 쉽게 얻을 수 있습니다.
#include#include using namespace std; int main(void) { char *strHexValue = "0xdeadbeef"; unsigned int nHexValue; // String to Hex stringstream convert(strHexValue); convert >> std::hex >> nHexValue; cout << std::hex << nHexValue << endl; // Hex to String stringstream convert_invert; convert_invert << std::hex << nHexValue; cout << convert_invert.str() << endl; return 0; }
'Programming > C/C++' 카테고리의 다른 글
디스어셈블 라이브러리 목록(Disassem Library List) (0) | 2013.06.10 |
---|---|
메모리 내의 문자열 검색 (2) | 2010.08.25 |