C++
 Computer >> コンピューター >  >> プログラミング >> C++

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 を返すだけで失敗を検知できない点には注意が必要です。

  1. 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

  2. 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; } 出力 このコードを実行す