2014-10-15 2 views
-2

Так что я сейчас пытаюсь написать программу, которая должна иметь возможность использовать язык ассемблера MIPS и переводить некоторые части в двоичное представление. Я получаю строки в этом формате:Использование strtok() для разрыва строки с несколькими разделителями в C

add $s0, $t0, $s2; 

Я пытаюсь использовать strtok, чтобы разбить отдельные маркера, но все, что я был в состоянии достигнуть до сих пор является отдельным из этикетки инструкции. Я могу читать в строке и получить

add 

все само по себе, но остальная часть строки испортится, и это становится мусором. Я в настоящее время только с помощью разграничения

" " 

в качестве разделителя, но, как вы можете видеть изменения разделителей далее вниз по линии. Как я могу токенизировать строку и получать каждый из отдельных токенов, чтобы я мог сделать перевод?

+1

Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См.: Как создать минимальный, полный и проверенный пример: –

+2

*** ПОКАЖИТЕ КОД *** – abelenky

ответ

2

Укажите разделитель как единое пространство. После первого вызова strtok, при следующих вызовах установите NULL в качестве первого аргумента strtok. man strtok должно быть полезно.

Смежные вопросы