Я пытаюсь использовать функцию strtok в C для обработки символа * и печати его на дисплее, и похоже, что по какой-то причине я не знаю, что символ '\ n' не заменяется на '\ 0 'как я считаю, strtok делает. Код выглядит следующим образом:
-Декларация char * и переход к функции, где он будет обрабатываться:
char *string_to_write = "Some text\nSome other text\nNewtext";
malloc(sizeof string_to_write);
screen_write(string_to_write,ALIGN_LEFT_TOP,I2C0);
-обработка символа * в функции:
void screen_write(char *string_to_write,short alignment,short I2C)
{
char *stw;
stw = string_to_write;
char* text_to_send;
text_to_send=strtok(stw,"\n");
while(text_to_send != NULL)
{
write_text(text_to_send,I2C);
text_to_send=strtok(NULL, "\n");
}
}
При применении кода результат можно увидеть в imgur (извините, у меня проблемы с форматированием при добавлении изображения здесь, в посте), где видно, что \ n не заменил, поскольку это странный символ, появляющийся на изображении, и отладчик все еще показывал символ также. Любые намеки, где может быть проблема?
Спасибо за вашу помощь,
Хавьер