C 库函数
一、strtol
原理:丢弃掉任何空白字符,直到找到第一个非空白字符,然后采用尽可能多的字符来形成有效的 base-n 整数表示并将他们转换为一个整数值。有效的整数值由以下部分组成:
- 可选的。 + 或 -
- 可选的。 前缀(0)表示八进制基数(仅当 base 基数为 8 或者 0 时)
- 可选的。前缀(0x 或 0X)表示十六进制基数(仅当 base 基数为 16 或者 0 时)
- 一串数字
如果 base 为 0,则自动检测数字基数。
1 | long strtol ( const char * str, char ** str_end, int base ) ; |
正常情况下,str_end 所指向的指针将指向 str 被解释的最后一个字符的下一个字符。比如 “aaa1234bcd”,str_end 所指向的指针将指向字符 b。异常情况下,str_end 所指向的指针将和 str 相等,指向 str 。