在下面的代碼行中,我試圖用密鑰字符串替代字符串中找到的變量字符串。例如,如果我有一個字符串「你好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