c语言数字字符串转整形
时间: 2023-08-15 11:11:47 浏览: 128
在C语言中,可以使用标准库函数 `atoi` 或 `strtol` 将数字字符串转换为整数。
1. 使用 `atoi` 函数:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345"; // 数字字符串
int num = atoi(str); // 使用 atoi 将字符串转为整数
printf("Number: %d\n", num);
return 0;
}
```
在上面的示例中,`str` 是一个数字字符串,通过 `atoi` 函数将它转换为整数。然后,可以将转换后的整数存储在一个变量中并进行后续操作。
2. 使用 `strtol` 函数:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345"; // 数字字符串
char *endptr; // 用于检测转换是否成功的指针
long num = strtol(str, &endptr, 10); // 使用 strtol 将字符串转为长整数
if (endptr == str) {
printf("Conversion failed!\n");
} else {
printf("Number: %ld\n", num);
}
return 0;
}
```
在上面的示例中,除了传入要转换的字符串之外,还传入了一个指向指针的指针 `endptr`。`strtol` 函数将返回转换后的长整数,并将成功或失败的指针地址存储在 `endptr` 中。通过检查 `endptr` 是否等于 `str`,可以判断转换是否成功。
需要注意的是,`strtol` 可以处理更广泛的转换情况,例如转换带有符号、十六进制或八进制表示的数字字符串。在使用时,可以参考相关文档以了解更多细节。
阅读全文