使用strtok()打破C中多个分隔符的行

时间:2014-10-15 20:20:00

标签: c parsing strtok

所以我现在正在尝试编写一个应该能够采用MIPS汇编语言的程序,并将一些部分转换为二进制表示。我正在以这种格式排队:

add   $s0, $t0, $s2;

我正在尝试使用strtok来分解单独的令牌,但到目前为止我所能完成的只是将指令标签分开。我可以阅读该行并获得

add

所有这一切,但字符串的其余部分搞砸了,它变成了垃圾。我目前只使用

分隔
"   " 

作为分隔符,但正如您所看到的那样,分隔符会在更远的位置发生变化。如何标记字符串,并接收每个单独的标记,以便我可以进行翻译?

1 个答案:

答案 0 :(得分:2)

将分隔符指定为单个空格。在第一次调用strtok之后,在下一次调用时将NULL设置为第一个strtok的参数。 man strtok应该会有帮助。