🔧 標準ライブラリ ・ stdlib.h ・ C89
strtoul の使い方unsigned long strtoul(const char *s, char **endptr, int base);
文字列を任意の基数でunsigned long型整数へ変換する。負符号-を渡すと2の補数表現に基づくラップアラウンドが起こる点に注意が必要な変換関数。 符号付きのstrtolと使い分け、負にならないことが保証されているカウンタやサイズの変換に向く。
#include <stdlib.h>
#include <stdio.h>
int main(void) {
unsigned long n = strtoul("4294967295", NULL, 10);
printf("%lu\n", n);
return 0;
}
⚠️ 先頭に-を付けた文字列も変換できてしまい、符号反転した巨大な値になる。負数を弾きたい場合は事前に文字をチェックする。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
strtoul と一緒に使う関数もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。