在下面的代码行中,我尝试将键字符串替换为在字符串中找到的变量字符串。例如,如果我有一个字符串“hello VARIABLE world”,则 KEY 值将代替 VARIABLE 值,使字符串“hello KEY world”而不是原始字符串。我的理论是将字符串标记为变量的第一个字符(在字符串中)(newfirst),标记变量字符(newtrash),然后标记字符串的其余部分(newsecond)。然后连接newfirst + key + newsecond。问题是,myVariables[i].variable[0] 和 myVariables[i].variable[varlength - 1] 在前两行中作为字符读入 strtok 函数,编译器要求 const char*。
更简单的表达方式:如何将 char 数组中的单个字符(用户输入,因此不能硬编码)作为 strtok 函数中的分隔符字符传递?
**要明确这不是整个程序,只是问题的关注点
strcpy(newfirst, strtok(testString, myVariables[i].variable[0]));
strcpy(newtrash, strtok( NULL, myVariables[i].variable[varlength - 1]));
strcpy(newsecond, strtok(NULL, "\n"));
strcat(newfirst, myVariables[i].key);
strcat(newfirst, newsecond);
struct variablePairs {
char variable[20];
char key[20];
};