This documentation is automatically generated by online-judge-tools/verification-helper
This project is maintained by tsutaj
// 大事なテクニック集! // int や double から string に変換する // → C++11 標準ライブラリには std::to_string 関数が存在する。 to_string(42); // result: "42" // string から int に変換する // → atoi 関数は char 型の文字列を int に変換する // → string を char 型の文字列に変換してから int にしよう // → atoi(s.c_str()) のように書けば良い atoi("42".c_str()); // result: 42 // ファミリーとして、atof, atol があるぞ! // string から int に変換する その2 // → 実は stoi 関数を使えば string 型からそのまま変換できる // → しかも基数指定可能! int stoi(const string& str, size_t* idx = nullptr, int base = 10); stoi("10", nullptr, 16); // result: 16 stoi("10", nullptr, 2); // result: 2 // ファミリーとして、stol, stoll, stoul, stoull, stof, stod, stold があるぞ! // char型文字列 から string に変換する → 実はそのままいける char str[10]; string s = str; // これで OK // 文字をインデックスに // → 起点としたい文字で引けば良い // → 例えば、'A' を起点としてインデックスを付けたい場合は s[i] - 'A' とする int idx1 = 'C' - 'A'; // result: 2 int idx2 = 'b' - 'a'; // result: 1 int idx3 = '9' - '0'; // result: 9 // generate binary string (not less than k-digit) string to_binString(int n, int k) { string ret = ""; while(n) ret += ('0' + (n&1)), n >>= 1; while(ret.length() < k) ret += '0'; reverse(ret.begin(), ret.end()); return ret; }
#line 1 "string/str_001_technique.cpp" // 大事なテクニック集! // int や double から string に変換する // → C++11 標準ライブラリには std::to_string 関数が存在する。 to_string(42); // result: "42" // string から int に変換する // → atoi 関数は char 型の文字列を int に変換する // → string を char 型の文字列に変換してから int にしよう // → atoi(s.c_str()) のように書けば良い atoi("42".c_str()); // result: 42 // ファミリーとして、atof, atol があるぞ! // string から int に変換する その2 // → 実は stoi 関数を使えば string 型からそのまま変換できる // → しかも基数指定可能! int stoi(const string& str, size_t* idx = nullptr, int base = 10); stoi("10", nullptr, 16); // result: 16 stoi("10", nullptr, 2); // result: 2 // ファミリーとして、stol, stoll, stoul, stoull, stof, stod, stold があるぞ! // char型文字列 から string に変換する → 実はそのままいける char str[10]; string s = str; // これで OK // 文字をインデックスに // → 起点としたい文字で引けば良い // → 例えば、'A' を起点としてインデックスを付けたい場合は s[i] - 'A' とする int idx1 = 'C' - 'A'; // result: 2 int idx2 = 'b' - 'a'; // result: 1 int idx3 = '9' - '0'; // result: 9 // generate binary string (not less than k-digit) string to_binString(int n, int k) { string ret = ""; while(n) ret += ('0' + (n&1)), n >>= 1; while(ret.length() < k) ret += '0'; reverse(ret.begin(), ret.end()); return ret; }