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

1949idc 2年前 (2024-09-18) 阅读数 495 #编程语言

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 将指向字符串的起始位置。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业