C++で数値文字列を整数に変換する方法
ここでは、C++で数値を表す文字列(数値文字列)を整数型のデータに変換する方法を解説します。この問題は、標準ライブラリに含まれる atoi() 関数を使うことで簡単に解決できます。atoi() は「ASCII to Integer」の略で、文字列を入力として受け取り、それを整数値へと変換して返します。
atoi() 関数は <cstdlib> ヘッダに定義されています。使用する際は、このヘッダをインクルードする必要があります。
入力:数値文字列 "1234" 出力:1234
アルゴリズム
ステップ1: 数値を表す文字列を用意する ステップ2: atoi()関数を使って整数に変換する ステップ3: 変換結果を出力する ステップ4: 終了
サンプルコード
#include<iostream>
#include<cstdlib>
using namespace std;
int main() {
int n;
char num_string[20] = "1234";
n = atoi(num_string);
cout << n;
}実行結果
1234
補足:より現代的な代替手段
C++11以降では、std::stoi() 関数を使うこともできます。std::stoi() は std::string 型を直接扱えるほか、変換に失敗した場合に例外をスローするため、エラーハンドリングが必要な場面ではより安全な選択肢となります。一方、atoi() は無効な入力に対して 0 を返すだけで失敗を検知できない点には注意が必要です。
-
C++で8進数を2進数に変換するプログラムの書き方【サンプルコード付き】
コンピュータシステムにおいて、2進数は2を基数とする記数法(二進法)で表現され、8進数は8を基数とする記数法(八進法)で表現されます。2進数は0と1のみを使用するのに対し、8進数は0から7までの数字を使用します。 2進数とそれに対応する8進数の例は以下の通りです。 2進数8進数 0110115 001015 1011026 0101012 以下に、8進数を2進数に変換するC++プログラムを示します。 サンプルプログラム #include <iostream> #include <cmath> using namespace std; int OctalToBi
-
C++でint型をstring型に変換する方法を解説
整数(int)を文字列(string)に変換したい場合、いくつかの方法があります。まずはC言語由来のitoa関数を使う方法から見ていきましょう。 itoa関数を使う方法 itoaは「integer to ASCII」の略で、整数値を文字列に変換するC言語の関数です。以下のように使用します。 例 #include<iostream> int main() { int a = 10; char *intStr = itoa(a); string str = string(intStr); cout << str; } 出力 このコードを実行す