求助啊!!如何用一个字符串的值取得相应的变量值。
例:char* className = "tableA";
className是一个可变的变量,它可以是tableA,也可以是tableB。假设tableA和tableB都是已经定义好的常量,如何根据className的值取得相应tableA和tableB的值。
问题点数:20、回复次数:10Top
1 楼chzhang513(Christin)回复于 2005-12-22 18:01:57 得分 0
有人回答吗?非常急,在线等。Top
2 楼lyz84331()回复于 2005-12-22 18:31:12 得分 0
问题太模糊了,不好理解....
不过你只要晓得className存储的是一个字符串地址
"tableA"表示的是该字符串的首地址,要解决问题应该不难啊...Top
3 楼wzjall(风)回复于 2005-12-22 18:46:56 得分 0
这个可以,下面只是给你演示一下它的用法.
#include<map>
#include<string>
using namespace std;
void main
{
map<string,int> m;
m.insert(make_pair("wewe",2);
int x=m[wewe];//
}Top
4 楼dx30611(mao)回复于 2005-12-22 19:00:31 得分 0
用一个switch语句,看看className与哪个常量相同,返回不同的值
再在case中指定你需要的操作Top
5 楼piaochen_2002(执子之手,与子偕老!)回复于 2005-12-22 19:08:55 得分 0
说清楚点Top
6 楼snailbreak(悄悄的来,正如我悄悄的走)回复于 2005-12-22 19:43:35 得分 0
不知道说什么Top
7 楼cunsh(村少)回复于 2005-12-22 20:32:19 得分 0
楼主好像是想把字符串变成标识符的吧?
似乎是不行的.生成的可执行程序里那些标识符都不存在了.Top
8 楼Bible_Chou(日子在发霉)回复于 2005-12-22 21:08:14 得分 0
不知道LZ要问什么。。。。。。。。。。。。。。。Top
9 楼A_B_C_ABC(黄瓜◥ @^@◤业余爱好而已)回复于 2005-12-23 00:47:47 得分 0
不知道楼主问的是不是这个意思:
int tableA=10;
float tableB=20.5f;
double x=0;
char* className="" ;
//......
if(strcmp(className,"tableA"))
x=tableA;
if(strcmp(className,"tableB"))
x=tableB;Top
10 楼fine10000(好心情)回复于 2005-12-23 09:02:06 得分 0
常量是在栈中分配的,是有先后的,先定义的地址小,后定义的地址大,你可以考虑一下比较地址实现。
Top