C言語で文字列・数値変換を行う方法

C言語では文字列を数値に変換、または逆の数値から文字列に変換する関数(標準関数)が定義されています。

  • 文字列を数値に変換double atof(char *str);
    int atoi(char *str);
    long atol(char *str);
  • 数値から文字列に変換
    char* itoa(int value, char* str, int radix);
    char* ltoa(long value, char* str, int radix);

但しitoaとltoaは標準関数ではなく処理系(コンパイラー)によっては定義されていない場合があります。

スポンサーリンク

C言語で文字列を数値に変換する方法

C言語で文字列を数値に変換するには標準関数の「double atof(char *str)、int atoi(char *str)、long atol(char *str)」を利用します。

と「atoi関数」を利用します。

atoi関数を利用するには共通インクルードファイル「stdlib.h」が必要です。

実行結果は

になります。

C言語で数値を文字列に変換する方法・itoa関数

C言語で数値を文字列に変換するには関数の「char* itoa(int value, char* str, int radix)、char* ltoa(long value, char* str, int radix)」を利用します。

と「itoa関数」を利用します。

実行結果は

になります。

itoa関数を利用するには共通インクルードファイル「stdlib.h」が必要です。

C言語で数値を文字列に変換する方法・itoa関数が使えない場合

C言語で数値を文字列に変換する場合で「char* itoa(int value, char* str, int radix)、char* ltoa(long value, char* str, int radix)」が利用できない処理系(コンパイラー)の場合はsprintf関数で変換を行います。

実行結果は

になります。

ここではsprintf関数の書式に「%d」を指定することで数値を文字列に変換することができます。

まとめ

C言語では文字列を数値に変換、または逆の数値から文字列に変換するにはatoiやitoaなどの関数(標準関数)を利用すれば簡単におこなうことができます。

万が一「itoa」などがない場合でも「sprintf」関数を利用すれば簡単に行うことができます。

以上、C言語で文字列・数値変換を行う方法でした。

タイトルとURLをコピーしました