Я искал, как рисовать строку на экране, используя Allergo 5, и знал о al_draw-textf()
, который, как говорили, работал как printf() в stdio.h. Поэтому, когда я хочу, чтобы напечатать строку в окне консоли я пишу printf("%s" , string_name);
Но когда я пишу этуAllegro 5 al_draw_textf()
al_draw_textf (шрифт, al_map_rgb (255, 255, 0), 250, 250, ALLEGRO_ALIGN_LEFT, "% s", Num);
ничего не отображается на дисплее. Когда я меняю %s
на %d
и переменную num на целое число, он правильно рисует значение num. Я делаю что-то не правильно или эта функция используется только для целых переменных?
Можете ли вы показать соответствующий пример своего кода? –
Я уже исправил эту проблему. Я должен был объявить переменную 'num' как' const char * 'вместо строки – Sam379
@ Sam379, вы можете использовать метод' c_str() ', если вы используете строки C++ для передачи строки, совместимой с C, в Allegro. – Matthew