web-dev-qa-db-ja.com

char *にintを追加します

C++でchar*に整数をどのように追加しますか?

21
user37875

最初に、sprintf()を使用してintを_char*_に変換します。

_char integer_string[32];
int integer = 1234;

sprintf(integer_string, "%d", integer);
_

次に、それを他のchar *に追加するには、strcat()を使用します。

_char other_string[64] = "Integer: "; // make sure you allocate enough space to append the other string

strcat(other_string, integer_string); // other_string now contains "Integer: 1234"
_
25
Jeremy Ruten

文字列ストリームを使用することもできます。

_char *theString = "Some string";
int theInt = 5;
stringstream ss;
ss << theString << theInt;
_

次に、ss.str();を使用して文字列にアクセスできます

10
Sydius

何かのようなもの:

width = floor(log10(num))+1;
result = malloc(strlen(str)+len));
sprintf(result, "%s%*d", str, width, num);

システムで整数の最大長を使用することにより、lenを簡略化できます。

編集おっと-「++」が表示されませんでした。それでも、それは代替手段です。

4
Draemon