【C言語入門】atoiの使い方(文字列から数値への変換)

atoiって使ってますか?atoiは整数値の文字列型データをint型に変換する関数です。

たとえばテキストファイルから内容を読み込む際は、数値データも通常は文字列として読み込まれるので、その後の計算処理などに使用する場合は文字列型の整数値からint型に変換する必要があります。

数値の文字列型データを数値データに変換する関数は他にもatol、atofがあります。atolは数値の文字列型データをlong型に変換し、atofはfloat型に変換します。

この記事では、文字列を数値に変換する方法について

  • atoiで文字列をint型の数値に変換する方法
  • という基本的でよく使われる内容から、

  • atolで文字列をlong型の数値に変換する方法
  • atofで文字列をfloat型の数値に変換する方法
  • などそれぞれの型への変換についても解説していきます。

    今回は文字列を数値に変換する方法について、使い方をわかりやすく解説します!

    目次

    atoiで文字列をint型の数値に変換する方法

    atoiは整数値の文字列型データをint型の数値データに変換するときに使う関数です。

    atoiを使う場合はヘッダーファイル「stdlib.h」をインクルードする必要があります。atoi関数の第1引数に整数値の文字列型データの変数名を入力し、int型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12345";
        int num;
        
        // 文字列型からint型への変換
        num = atoi(str);
        printf("int型変数numの値は: %d\n", num);
        
        return 0;
    }

    実行結果:

    int型変数numの値は: 12345

    このサンプルコードでは、文字列型変数「str」をint型変数「num」に変換して出力表示しています。

    atolで文字列をlong型の数値に変換する方法

    atolは整数値の文字列型データをlong型の数値データに変換するときに使う関数です。

    atolを使う場合もヘッダーファイル「stdlib.h」をインクルードする必要があります。atol関数の第1引数に整数値の文字列型データの変数名を入力し、long型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12345";
        long num;
        
        // 文字列型からlong型への変換
        num = atol(str);
        printf("long型変数numの値は: %ld\n", num);
        
        return 0;
    }

    実行結果:

    long型変数numの値は: 12345

    このサンプルコードでは、文字列型変数「str」をlong型変数「num」に変換して出力表示しています。

    atofで文字列をfloat型の数値に変換する方法

    atofは数値の文字列型データをfloat型の数値データに変換するときに使う関数です。

    atofを使う場合もヘッダーファイル「stdlib.h」をインクルードする必要があります。atof関数の第1引数に整数値の文字列型データの変数名を入力し、float型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12.345";
        float flt;
        
        // 文字列型からfloat型への変換
        flt = atof(str);
        printf("float型変数fltの値は: %f\n", flt);
        
        return 0;
    }

    実行結果:

    float型変数fltの値は: 12.345000

    このサンプルコードでは、文字列型変数「str」をfloat型変数「flt」に変換して出力表示しています。

    文字列の使い方総まとめ

    この記事では紹介しきれなかった文字列のいろいろな使い方を次の記事にまとめているので、ぜひ確認してください!

    まとめ

    ここでは、文字列を数値に変換する方法について説明しました。

    atoi、atol、atofで変換後の数値データの型が異なります。

    それぞれの関数を使いこなすことができるように、この記事を何度も参考にして下さいね!

    この記事を書いた人

    【プロフィール】
    DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
    累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
    【専門分野】
    IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

    目次