阅读量:0
strtoll
是 C++ 标准库中的一个函数,用于将字符串转换为长整型(long long
)。这个函数可以处理以下字符类型:
- 十进制数字(‘0’ 到 ‘9’)
- 十六进制数字(‘a’ 到 ‘f’ 或 ‘A’ 到 ‘F’),前提是字符串以 “0x” 或 “0X” 开头。
- 八进制数字(‘0’ 到 ‘7’),前提是字符串以 ‘0’ 开头。
- 正负号(‘+’ 或 ‘-’),用于表示正数或负数。
strtoll
函数的原型如下:
long long strtoll(const char* str, char** endptr, int base);
其中:
str
是要转换的字符串。endptr
是一个指向字符的指针,用于存储转换后剩余字符串的起始位置。如果不需要这个信息,可以传递nullptr
。base
是转换的基数,可以是 2 到 36 之间的整数。如果base
为 0,则会根据字符串的前缀自动判断基数(十进制、十六进制或八进制)。
注意:strtoll
函数不会跳过空格或其他分隔符。如果字符串的开头有空格或其他无法识别的字符,转换将失败。在这种情况下,endptr
将指向字符串的起始位置。