최근에 SIC 어셈블러를 과제로 짜게 됐는데, Pass1, Pass2 같은 어셈블러의 일들보다는 들어오는 SIC 명령어를 올바르게 나누어서 저장하는게 더 어렵더군요. Java였다면 Scanner 객체에 String을 넣으면 띄어쓰기 단위로 쉽게 구분이 갈탠데, 라고 생각하며 이러한 역할을 하는 C++ 객체가 없나 찾아보다가 String Stream에 대해 알게 되었습니다.
포함된 Header 파일은 sstream 이고 I/O Stream 등 과 같은 Stream 객체이기 때문에 Stream객체가 사용되는 곳에서는 동일한 역할을 합니다.
#include <sstream>
stringstream ss <- 이런식으로 선언하여 객체를 생성합니다. 생성자로 string을 받는 형식도 존재하기 때문에 ss(str)형식으로 하면 string이 바로 들어가게 됩니다.
기본적인 사용법은
ss << str
형식으로 string stream에 string을 집어 넣을 수 있으며
ss >> str
형식으로는 string stream에 들어있는 string을 띄어쓰기 단위로 얻을 수 있습니다.
마지막으로 위에서도 말했듯이 stream이기 때문에 만약 숫자를 넣을 때 들어갈때는 string으로 들어갔을지라도 꺼내올때는 int 같은 숫자형식의 변수로 받아야 합니다.
반응형
'Programming' 카테고리의 다른 글
Android OpenGL ES 사용에 앞서 알아두면 좋은것 (0) | 2012.01.05 |
---|---|
[Android] Soundpool 사용하기 + 사용하면서 안 것. (0) | 2011.02.14 |
[Android]Android MapView 간단한 정리. (0) | 2010.11.04 |
[Qt4] Signal 과 Slot (0) | 2010.09.12 |
[C/C++]Linux 시스템콜을 이용한 TCP/IP 프로그래밍 기초 (0) | 2010.08.28 |