任意の数字列が文字列型として与えられたときに、それらの数字を整数型に変換して、一つずつ取り出したいのですが、その方法が分かりません
例えば、123456789という文字列がstring型で与えられたとき、それをint型の配列に1桁ずつ代入していきたいです
char* cstr = new char[str.size() + 1]; std::char_traits<char>::copy(cstr, str.c_str(), str.size() + 1);
というコードを使い、stringからcharに変換することはできたのですが、そのあとの処理が分かりませんでした
単純にatoi(cstr)とすると意味不明な数字列が出力されますし、一桁ずつ分解することもできませんでした
御助力願います
--追記--
皆さまご回答ありがとうございます
とても助かります
重ね重ね申し訳ないのですが、vectorを使わない方法もございますでしょうか
以前、isdigitやatoiを使えばC言語でもできると聞いたことがあったのですが、どうしてもその方法が思いつきません(試行結果は上述の通りで、char型に変換したところで終わっています)
もしよろしければそちらもご教授願いたいと思います
よろしくお願いいたします
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/17 14:11