スライドショー

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

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

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

数値の文字列型データを数値データに変換する関数は他にもatolatofがあります。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」に変換して出力表示しています。

    文字列の使い方総まとめ

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

    【C言語入門】文字列とは?文字列の使い方総まとめ
    更新日 : 2019年5月20日

    まとめ

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

    atoiatolatof変換後の数値データの型が異なります

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

    LINEで送る
    Pocket

    無料でSEからWebエンジニアへ転職しませんか?



    侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

    • システムエンジニアという職業だけどコードが書けない
    • 事務作業が多くスキルがないため将来が不安
    • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
    という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

    弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

    既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

    まずは無料体験レッスンを予約する

    書いた人

    長野 透

    長野 透

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

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説