C++字符串与数值的转换
字符串转换
C风格字符串
简单转换函数
#include <stdlib.h>
int atoi(const char *str);
long atoi(const char *str);
long long atoll(const char *str); //(c99)
以上三个函数将str所指向的字符串转化为整数。转化过程会忽略所有的前置空白符,直到找到首个非空白符,然后尽可能多的接受包含以下部分的合法整数:
- (可选的)正负号
- 数字
转化成功时,函数返回字符串对应的整数值;若无法进行转换,则返回0;如果转换结果超出了返回类型的范围,则返回值未定义。
指定进制的转换函数
#include <stdlib.h>
long strtol(const char *str, char **str_end,
int base);
unsigned long strtoul(const char *str, char **str_end,
int base);
long long strtoll(const char *str, char **str_end,
int base); //(c99)
unsigned long long strtoull(const char *str, char **str_end,
int base); //(c99)
#include <inttypes.h>
intmax_t strtoimax(const char *str, char **str_end,
int base); //(c99)
uintmax_t