제가 만드는 프로그램에서 사용자가 키보드로 변수명을 입력하면, 그 변수명에 해당하는 값을 출력해야 하는, 그런 기능이 필요해 졌습니다.
C나 C++에서 그런게 가능한지요?
당장 생각나는 방법은...그냥 구조체 배열을 만들고, 그 구조체 안에 변수명과 값을 둘 다 넣어두고 검색하는 형태인데... 이보다 좋은게 있는지 모르겠습니다.
map을 쓰면 가능할것 같은데요.
#include <map> #include <string> #include <iostream> using namespace std; int main() { map<string, int> mapA; mapA["varA"] = 10; mapA["varB"] = 20; string var; cin >> var; map<string, int>::iterator i = mapA.find( var ); if( i != mapA.end() ) { cout << i->first << " = " << i->second << endl; } else { cout << var << " is not exist.\n"; } return 0; } 출력결과 $ ./var varA varA = 10 $ ./var varB varB = 20 $ ./var varC varC is not exist.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동 "만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
감사합니다. 시도해 보겠습니다.^^
-------------------------- snowall의 블로그입니다.http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
map을 쓰면 가능할것
map을 쓰면 가능할것 같은데요.
-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
감사합니다. 시도해
감사합니다. 시도해 보겠습니다.^^
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
댓글 달기