[C++] 25 string, char*, int間の変換

メインブログのTIPS記事はこちらに移動させます。

<string型からchar*型>
using std::string;

string str;
char* str_to_char = str.c_str();

<string型からchar[]型>
string str;

char ch[2048] = {};
str.copy(ch, 2047); // 最後にヌル文字が残るようにする

<int型からstring型>
using std::string; using std::to_string;

int num ;
string int_to_string = to_string(num);

<string型からint型>
using std::string; using std::stoi;

string str;
int str_to_int = stoi(str);

<char*型からint型> atoi関数はエラー時に0を返すので取り扱い注意!!
#include <stdlib.h>

char* ch;
int char_to_int = atoi(ch);

<int型からchar*型>
int型からstring型、string型からchar*型へ順に変換

using std::string; using std::to_string;

int num ;
string int_to_string = to_string(num);
char* str_to_char = (to_string(num)).c_str();

<const char*からstring型>
using std::string;

const char* cstr;
string cstr_to_string = string(cstr);

<char型単体からstring型>
char ch = 'a';
string str{ch}; strがstring型変数

<char[]型からstring型>
char chars[] = {'a', 'b', 'c'};
std::string str(chars, 3); // 3はcharの個数、strがstring型変数