在下面的代码行中,我试图用密钥字符串替代字符串中找到的变量字符串。例如,如果我有一个字符串“你好VARIABLE世界”,KEY值将被放在代替原始字符串的字符串“hello KEY world”的VARIABLE值。我的理论是将变量的第一个字符(在字符串中)(newfirst)标记为字符串,标记变量字符(newtrash),然后标记字符串的其余部分(newsecond)。然后连接newfirst + key + newsecond。问题是,myVariables [i] .variable [0]和myVariables [i] .variable [varlength - 1]在前两行读取strtok函数的字符,编译器要求const char *。任何想法如何我可以格式化这些字符串的第一个和最后一个值在strtok函数中工作?c - 将char传递给strtok?
简单的方法来说明:我如何将字符数组中的单个字符(用户输入不能被硬编码)作为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];
};
不是一个答案,以取代
isspace
电话。可以节省您的调试时间http://stackoverflow.com/questions/4031075/strtok-function-thread-safety – CCoder