C语言strol用法
时间: 2024-05-16 11:19:25 浏览: 14
在C语言中,`strtol`是一个函数,用于将字符串转换为长整型数。它的原型如下:
```c
long int strtol(const char* str, char** endptr, int base);
```
- `str`:要转换的字符串。
- `endptr`:指向一个指针的指针,用于存储第一个无法转换的字符的地址。如果 `endptr` 为 NULL,则忽略此参数。
- `base`:可选参数,表示进制(如 10 表示十进制)。如果为 0,则根据字符串的前缀自动确定进制。
`strtol` 函数将字符串转换为长整型数,并返回结果。同时,它会更新 `endptr` 指针,使其指向第一个无法转换的字符。如果返回值超出了长整型数的范围,那么将返回 `LONG_MAX` 或 `LONG_MIN`,并设置 `errno` 为 `ERANGE`。
下面是一个例子,展示如何使用 `strtol` 函数:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345abc";
char* endptr;
long num;
num = strtol(str, &endptr, 10);
printf("Number: %ld\n", num);
printf("Remaining: %s\n", endptr);
return 0;
}
```
输出结果为:
```
Number: 12345
Remaining: abc
```
在这个例子中,字符串 "12345abc" 被转换为长整型数 12345。`endptr` 指向字符串中的字符 "a",表示转换停止的位置。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)