Я анализирую текстовый файл, и когда я сталкиваюсь со словом .word
, я хочу взять остальную часть строки.Вот что у меня есть:
char *word_ptr;
if (strstr(token, ":")){
// Some code
}
else if ((word_ptr = strstr(token, ".word"))) {
char *string_wanted = word_ptr + 6;
printf("Rest: '%s'\n", string_wanted);
}
string_wanted
не печатает правильно.Правильно ли мое использование word_ptr при назначении его в операторе else-if
?string_wanted
ничего не печатает.Когда я добавляю 7 вместо 6, он выводит «ize».У меня был размер слова в моем текстовом файле, но теперь я удалил его, я удалил файл и заново создал его и сделал чистую сборку, и слово «ize» все еще появляется !!Он больше не существует в файле, так откуда он взялся?Я действительно разочарован тем, что слово «размер» больше не существует в файле.
Вот что выглядел файл (когда у меня было слово «ize»):
array: .word 0:10
array_size: .word 10
СейчасЯ только что удалил вторую строку, так что это: array: .word 0:10
Почему word_ptr не печатает 0:10, когда я добавляю к нему 6?Я уверен, что word_ptr указывает на .word, потому что когда я его печатаю, он печатает .word.При токенизации линии array:
токенизируется, так что я знаю, что она туда попала.
Есть предложения?
Спасибо за вашу помощь.