string -> int キャスト
ようするに、1文字ずつ cast したらいいのかもしれないんだけど。
で、あれですね、static_cast
で、文字列をintにしてやろう、とか考えると、
#include <iostream> #include <string> using namespace std; int to_i (const string& str) { int dec = 1; int r_int = 0; for (string::const_reverse_iterator it = str.rbegin(); it != str.rend(); it++) { r_int += (static_cast<int>(*it) - '0') * dec; dec *= 10; cout << dec << endl; } return r_int; } int main() { string hoge("1024"), fuga("13334444444"); cout << to_i(hoge) << endl; // INT_MAX 以上だとだめだ。。。! cout << to_i(fuga) << endl; return 0; }
なんか愚直にやるとこんな感じなんだろうか。
愚直に。。
ふうむ。