C语言include将字符串转成数字
时间: 2024-09-19 10:00:59 浏览: 59
在C语言中,将字符串转换成数字通常需要结合`strtol`、`strtoul`、`atol`等函数,这些函数用于将字符串解析为整数。例如,如果你想要把包含整数的字符串转换成long型整数,你可以使用` strtol` 函数:
```c
#include <stdio.h>
#include <stdlib.h>
long int string_to_long(const char* str) {
long int num;
if (strtol(str, NULL, 10) == LONG_MIN || strtol(str, NULL, 10) == LONG_MAX) {
// 检查是否溢出
printf("Error: Number out of range.\n");
return -1; // 或者抛出错误
}
num = strtol(str, NULL, 10);
return num;
}
int main() {
const char* str_num = "12345";
long int result = string_to_long(str_num);
if (result != -1) {
printf("The number is: %ld\n", result);
}
return 0;
}
```
在这个例子中,`strtol`的第一个参数是要转换的字符串,第二个参数是一个指向存放未处理部分指针的指针,在这里可以设置为NULL,第三个参数是基数,默认为10代表十进制。
如果转换过程中发生错误(如输入不是有效的数字),`strtol`会返回`LONG_MIN`或`LONG_MAX`。注意处理这类异常情况。
阅读全文