独学C言語 独学C言語 中級

2024年版 C言語・中級レベル ~標準関数 atoi, atol~

標準関数 atoi

#include <stdlib.h>

void main(void) {
    int wint;

    wint = atoi("1");
    printf("#1:%d\n", wint);

    wint = atoi("12345");
    printf("#2:%d\n", wint);

    wint = atoi("-12345");
    printf("#3:%d\n", wint);

    wint = atoi("12.345");
    printf("#4:%d\n", wint);

    wint = atoi("0.555");
    printf("#5:%d\n", wint);

    printf("int=%d\n", sizeof(wint));
}

実行結果

1:1
2:12345
3:-12345
4:12
5:0
int=4

atoi は、文字列を int に変換する関数です。

マイナスは変換できますが、小数点以下の数字はカットされます。

昔の16bitのときは int は 2バイトでしたが、32bitになって 4バイトになりました。
ある程度の大きさを使用する場合は、自分でサイズを確認するようにしてください。


標準関数 atol

#include <stdlib.h>

void main(void) {
    long wlong;

    wlong = atol("1");
    printf("#1:%d\n", wlong);

    wlong = atol("12345");
    printf("#2:%d\n", wlong);

    wlong = atol("-12345");
    printf("#3:%d\n", wlong);

    wlong = atol("12.345");
    printf("#4:%d\n", wlong);

    wlong = atol("0.555");
    printf("#5:%d\n", wlong);

    wlong = atol("1234567890");
    printf("#6:%d\n", wlong);
   
    printf("long=%d\n", sizeof(wlong));
}

実行結果

1:1
2:12345
3:-12345
4:12
5:0
long=4

atoi 関数と結果は同じです。

-独学C言語, 独学C言語 中級