C標準ライブラリまたはC ++ライブラリ関数/クラスを使用してintを文字列に変換できます。
「モダンな」C ++スタイルのアプローチ
11年前からC ++標準ライブラリに追加されているC ++標準ライブラリでstd :: to_string()を使用できます。プロジェクトでC ++ 11以降の標準を使用している場合は、この方法をお勧めします。
std::string to_string( int value );
値をstd :: stringに変換するために標準ヘッダーで定義されています。
1)std :: sprintf(buf、 "%d"、value)と同じ機能を持ち、符号付き10進整数を文字列に変換します。
C ++用のプログラムの例は次のとおりです。
std :: to_string()
#include <iostream>
#include <string>
int main ()
{
int n = 123;
std::string str = std::to_string(n);
std::cout << n << " ==> " << str << std::endl;
return 0;
}
コンストラクターから例外がスローされる場合があることに注意してください。呼び出し元がこの例外を処理する場合、呼び出し元は次の例外をキャッチする必要があります。
std::to_string() std::bad_allocstd::string
C ++スタイルのストリームに基づく
C ++ 11より前にintを文字列に変換するために使用されていたC ++ライブラリstd :: stringstreamを使用できます。C ++プログラムを使用したものは以下の通りです。
std :: stringstream
#include <sstream>
#include <iostream>
int main()
{
int i = 123;
std::stringstream ss;
ss << i;
std::string out_string = ss.str();
std::cout << out_string << "\n";
return 0;
}
Cスタイル方式
アプリケーションでC標準のC ++関数を使用することもできます。intから文字列への変換を実行できるC標準ライブラリ関数snprintf()。
#include <stdio.h>
int snprintf(char *str, size_t size, const char *format, ...);
The functions snprintf() and vsnprintf() write at most size bytes (including the terminating null byte ('\0')) to str.
以下は、C ++で関数を使用してintを文字列に変換する例です。
snprintf()
#include <cstdio>
#include <iostream>
#define MAX_BUFFER_SIZE 128
int main()
{
int number = 123;
char out_string [MAX_BUFFER_SIZE];
int rt = snprintf(out_string, MAX_BUFFER_SIZE, "%d", number);
if (rt < 0) {
std::cerr << "snprintf() failed with return code " << rt << std::endl;
} else {
std::cout << "out_string = \"" << out_string << "\"\n";
}
return 0;
}
参考資料:
https ://www.systutorials.com/how-to-convert-int-to-string-in-cpp/