你好,我正在制作游戏,我有一个记分板。得分存储在一个int变量中,但是我用于游戏的库需要一组字符,用于为我的记分板输出文本。
那么如何将int转换为字符数组呢?
int score = 1234; // this stores the current score
dbText( 100,100, need_the_score_here_but_has_to_be_a_char_array);
// this function takes in X, Y cords and the text to output via a char array
我正在使用的库是DarkGDK。
tyvm:)
答案 0 :(得分:8)
ostringstream sout;
sout << score;
dbText(100,100, sout.str().c_str());
答案 1 :(得分:3)
使用sprintf
#include <stdio.h>
int main () {
int score = 1234; // this stores the current score
char buffer [50];
sprintf (buffer, "%d", score);
dbText( 100,100,buffer);
}
答案 2 :(得分:2)
您可以使用std::ostringstream
将int
转换为std::string
,然后使用std::string::c_str()
将字符串作为char
数组传递给您的函数
答案 3 :(得分:1)
char str[16];
sprintf(str,"%d",score);
dbText( 100, 100, str );
答案 4 :(得分:0)
char str[10];
sprintf(str,"%d",value);
答案 5 :(得分:0)
好吧,如果你想避免C标准库函数(snprintf
等),你可以用通常的方式创建一个std::string
(std::stringstream
等),然后使用string::c_str()
获取可以传递给图书馆电话的char *
。
答案 6 :(得分:0)
如果有帮助,请告诉我。
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
char ch[10];
int i = 1234;
itoa(i, ch, 10);
cout << ch[0]<<ch[1]<<ch[2]<<ch[3] << endl; // access one char at a time
cout << ch << endl; // print the whole thing
}