我使用下面的代碼來標記C中的字符串,並使用「,」來創建標記,但是我想知道什麼時候它會在出現「當「,」出現在字符串中時。如何找出什麼是標記的最後一個原因
char *pch;
pch = strtok(buffer, ", ");
while (pch!=NULL) {
printf("%s\n", pch);
pch = strtok(NULL, " ,");
}
我使用下面的代碼來標記C中的字符串,並使用「,」來創建標記,但是我想知道什麼時候它會在出現「當「,」出現在字符串中時。如何找出什麼是標記的最後一個原因
char *pch;
pch = strtok(buffer, ", ");
while (pch!=NULL) {
printf("%s\n", pch);
pch = strtok(NULL, " ,");
}
據我所知,strtok不支持該功能。但是,您可以執行額外的檢查:每當返回pch
時,查看剩餘緩衝區的第一個字符是否具有「」或「,」。然後,您需要追蹤剩餘的緩衝區,但這是您的作業:)
strtok和CLIB不公開此信息。所以沒有便攜的方法來獲取它。
你可能會得到你正在尋找的信息,其中包含一個適用於你的clib實現的黑客攻擊,但是如果你想要一些穩定和可移植的東西,唯一的選擇是實現一個strtok-workalike,告訴你分隔符。
該任務不是火箭科學btw ...