C ++将int转换为chars数组?

时间:2010-09-27 20:35:36

标签: c++ arrays casting types char

  

可能重复:
  C++ convert int and string to char*

你好,我正在制作游戏,我有一个记分板。得分存储在一个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:)

7 个答案:

答案 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::ostringstreamint转换为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::stringstd::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
}