C言語 数値・文字列の変換 atoi sprintf_s

数値から文字列 文字列から数値の相互変換ができる関数の紹介です。


文字列を数値へ変換する関数atoi

int atoi(const char* p);

文字列pを数値に変換します。

#include <stdio.h>
#include <stdlib.h>      // インクルードが必要

void main(void) {
    int a;

    a = atoi("123");
    printf("a = %d\n", a);

}
a = 123

数値を文字列へ変換する関数sprintf_s

printf関数は「指定した変数、文字列など」を画面に出力する関数でしたが、
sprintf_s関数は「指定した変数、文字列など」を文字列に格納できる関数です。

#include <stdio.h>
#include <stdlib.h>      // インクルードが必要

int main(void) {
    int a = 123;
    char str[10];

    sprintf_s(str, "%d", a);
    printf("str = %s\n", str);

}
str = 123

int型変数aの数値123を、char型配列に文字列として格納しています。
printfと似たような書式で、
出力先が第1引数で指定したアドレスに書き込みを行います。

書き込み先の配列の大きさには注意しなければなりません。

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