我正在寫一個C程序,用戶可以在其中輸入一個1-3位數字後跟一個反斜槓,然後另一個1-3位數字或他們可以輸入1-3位數字,然後一個逗號,然後是另一個1-3位數字,並且它可以迭代多少次沒有限制。C多個Strtok來確定分隔符
我需要確定輸入分隔符是否是反斜槓或逗號(以確定如何處理數字)並將數字放入數組中。
我想這樣做的方式是使用strtok如下。該字符串作爲char *標記輸入。
op_tok1 = strtok(token, "\\");
if(op_tok1 != NULL)
{
/* Process numbers */
return;
}
op_tok2 = strtok(token, ",");
if(op_tok2 != NULL)
{
/* Process other numbers */
return;
}
這適用於任何用反斜槓隔開的東西,但不適用於逗號。我相信這是因爲strtok使用了令牌變量。這是真的?有沒有更好的方法來解決這個問題?謝謝!
您是否嘗試過使用逗號strtok創建'token'的副本? – gcochard 2012-04-27 21:52:25