string与char*类型的互相转换
之前做实验在解析指令时都用到了C 库函数 char strtok(char str, const char delim) 分解字符串 str 为一组字符串,delim 为分隔符。strtok()函数很方便,但其输入只能为char类型,而我们用的map大多是int-string类型的,string类型要想用strtok函数,就得转换成char*类型。但CSDN上搜到的.c_str()方法只能将string直接转换成const char *类型,不合要求。所以我们可以这样:
map<int, string> mapDLX;
string dlx = mapDLX[PC];
char* p = &(dlx[0]);
token = strtok(p, " ");
这个方法其实是对基于指针定义的一种应用。而char*想转化成string就很容易了,可以直接转换。