2

int 値を文字列として画面に表示したい。これは私がopenglでやっているゲーム用です。私はこのようなものを持っています:

char *string = "0"; // to declare

sprintf (label,"%d" ,string); // This prints 0

これは、画面に 0 を出力するのに最適ですが、0 を変更したいことは理解できます。int を string に変換して、これを char *string に代入しようとしましたが、不可能だと思います。私はC++の初心者なので、あまり知りません。これについて助けていただければ幸いです。私が達成したいのはこれです:

char *string = "0"; // to declare
int number = 90; // declare int to be converted;

sprintf (label,"%d" ,string); // This prints 90

int のメソッドを char メソッドに変換していることがわかりましたが、問題は解決しませんでした。事前にご協力いただきありがとうございます。

4

3 に答える 3

5

画面に数字を出力するだけなら、次の場所にストリーミングできますstd::cout

#include <iostream>

int nubmer = ....;

std::cout << number;

それ以外の場合は、数値を にストリーミングしてstd::ostringstream、基になる を取得できconst char*ます。

std::strimgstream o;
o << number;
const char* string_ = o.str().c_str();
于 2012-11-03T15:00:38.413 に答える
4

これを使って:

std::stringstream val;

val << number;

val.str();         // Gets you a C++ std::string
val.str().c_str(); // Gets you a C-String
于 2012-11-03T15:06:34.587 に答える
1
   char label[100] = {"0"};
   printf("%s\n",label);
   int number = 90;
   sprintf(label,"%d",number);
   printf("%s\n",label);
   sprintf(label,"%d",number + 1);
   printf("%s\n",label);

出力:

0
90
91
于 2012-11-03T14:59:18.660 に答える