1

我正在用 allegro(在 Ubuntu 中)开发一个 pacman 游戏,但我无法显示分数。我找到了这段代码,但它不起作用。请问你能帮帮我吗?

char scoretxt[10];
printf(scoretxt,"score: %d",score);
textout_ex(buffer, font, scoretxt, TILE_SIZE*(MAP_WIDTH)*3/4, TILE_SIZE, makecol(255,255,255), makecol(0,0,0));
4

1 回答 1

5

您应该使用snprintf,而不是printf

snprintf(scoretxt, 10, "score: %d", score);

这里10是缓冲区的长度,scoretxt以确保snprintf不会写入分配的数组之外。

于 2012-05-20T22:22:23.133 回答