사용자로부터 char *를 얻고이 문자열을 내 프로그램의 변수를 참조하는 방법을 찾고 있습니다. 이것은 preprocessor 붙여 넣기 옵션 ##
과 유사합니다. 나는 다음과 같은 일을 할 수 있도록하려면 f(int num);
그리고 변수 int x = 1, z = 2;
문자열에서 이름을 사용하여 변수를 정의 할 수 있습니까?
그리고 : : 예를 들어 내가하는 기능이 있다고 int y=f(##arg [1]); \\should be equivalent to: int y=f(x) assuming argv[1] ="x"
또는
입력이 "Z는"인 경우 f()에 z를 보내십시오 ...
이 방법을 얻을 수 있습니까?
감사합니다.
편집 : 솔루션이 완벽하게 동적 일 필요는 없으며 사용 가능한 변수를 엄격하게 만드는 것과 같은 몇 가지 가정하에 살 수 있습니다. 즉 허용 된 변수 이름 집합 만 있습니다. 당신이 직접 할 수 없어
이렇게 할 방법이 없다고 생각합니다. 그러나 가능한 경우 디버그하는 것이 엉망으로 심각한 고통이 될 것입니다. –
디버그가 문제가되지 않습니다 ... – ZivS
일반 간단 : C에서는 불가능하지만 asm이 이러한 기능을 제공 할 수 있습니다. 보이는 intresting –