文字列に変換されたC ++ int

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/

おすすめ

転載: blog.csdn.net/yao_zhuang/article/details/112450802