2013-12-18 15 views
20

"0xFA"またはそれ以上のような16進表現ストリングからintを作成する必要があります"FA"atoi("FA")のようなものが必要です。そのための標準的な解決策はありますか?atoi()16進表現ストリングから

+4

[ 'strtol'](http://en.cppreference.com/w/c/string/byte/strtol)のようなもの、あなたはどういう意味ですか? – usr2564301

+3

[あなたのツールを知っている](http://en.cppreference.com/w/c) – user694733

答えて

47

strtol()を使用してみてください:

strtol("FA", NULL, 16); 
+0

注:16進数を示す '0xFA':"(オプション)プレフィックス(0xまたは0X)も使用できます。 baseが16または0) " – usr2564301

+15

符号なしの場合は、strtoul()を使用して" 0x81234567 "のような文字列を正しく処理する必要があります。そうでなければ、0xFFFFFFFFが返されます。 – gjcamann

関連する問題