【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で変換後の数値データの型が異なります。

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

    この記事を書いた人

    熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
    お問合せはこちらでも受け付けています。
    info@sss-lab.com

    目次