Как отобразить данные char в DrawText() в raylib? Я застрял

#c #raylib

#c #raylib

Вопрос:

Я делаю простую игру в угадывание стиха из Библии. Что меня смущает, так это при использовании DrawText() . В нем говорится, что он должен содержать строку, содержащую%s внутри, но мои данные есть char , поэтому он использует %c вместо %s . Итак, я пытаюсь использовать цикл while. Но, похоже, это не работает. Я застрял, делая это целый день. Есть идеи? Большое спасибо. Я новичок, пытающийся создать игру.

То, что я пытаюсь сделать, похоже на это:

 BeginDrawing();


                        DrawText(TextFormat("    %d:%d ", surahChoice, ayatChoice), 242, 260, 20, MAROON);
                        //name of surah:
                        while(*ptrTheSurah != 'n')
                        {
                                DrawText(TextFormat("             %c", theSurahString), 242, 260, 20, MAROON);
                              DrawText(" ",242,260,20,MAROON);
                              ptrTheSurah  ;
                        }

                EndDrawing();
  

Комментарии:

1. если использовать только консольное программирование, это работает! Представьте, что DrawText() заменяется на printf()..

Ответ №1:

Ваши данные, скорее всего, представляют собой массив char , поэтому использование %s будет правильным выбором.

Я предполагаю, что theSurahString это const char * , значит, указатель. Это означает, что с помощью %c вы указываете TextFormat() преобразовать этот указатель в целое число, а затем уменьшить его до 8 бит, распечатать и обработать как символьный код.