温馨提示×

c++ strtoll能处理哪些字符类型

c++
小樊
81
2024-09-15 16:19:50
栏目: 编程语言

strtoll 是 C++ 标准库中的一个函数,用于将字符串转换为长整型(long long)。这个函数可以处理以下字符类型:

  1. 十进制数字(‘0’ 到 ‘9’)
  2. 十六进制数字(‘a’ 到 ‘f’ 或 ‘A’ 到 ‘F’),前提是字符串以 “0x” 或 “0X” 开头。
  3. 八进制数字(‘0’ 到 ‘7’),前提是字符串以 ‘0’ 开头。
  4. 正负号(‘+’ 或 ‘-’),用于表示正数或负数。

strtoll 函数的原型如下:

long long strtoll(const char* str, char** endptr, int base);

其中:

  • str 是要转换的字符串。
  • endptr 是一个指向字符的指针,用于存储转换后剩余字符串的起始位置。如果不需要这个信息,可以传递 nullptr
  • base 是转换的基数,可以是 2 到 36 之间的整数。如果 base 为 0,则会根据字符串的前缀自动判断基数(十进制、十六进制或八进制)。

注意:strtoll 函数不会跳过空格或其他分隔符。如果字符串的开头有空格或其他无法识别的字符,转换将失败。在这种情况下,endptr 将指向字符串的起始位置。

0