strtol函数怎么用
时间: 2024-11-22 19:20:55 浏览: 30
strtol是atoi的增强版
`strtol` 函数是 C 标准库中的一个整型转换函数,用于将字符串解析成长整型(long int)数值。它的基本原型如下:
```c
long int strtol(const char *nptr, char **endptr, int base);
```
参数说明:
- `nptr`: 需要被转换的字符串指针。
- `endptr`: 指向存放输入字符串结束位置的指针,函数返回后会更新到字符串中第一个无效字符的位置。
- `base`: 转换基数,通常可能是 2 到 36 之间的十进制、八进制、十六进制或任意基数。
用法举例:
```c
char str[] = "1234";
long int num;
char* end;
num = strtol(str, &end, 10); // 将字符串解析为十进制整数
if (*end == '\0') { // 确保已完整解析,无剩余字符
printf("转换后的数字: %ld\n", num);
} else {
printf("无法完全转换,剩余部分: %s\n", end);
}
```
注意,如果输入字符串不符合指定基数的表示或者不是有效的数字,`strtol` 会返回 0 或者设置 `errno` 错误标志。在实际使用时,建议检查返回值以及错误状态。
阅读全文