首页 > 编程笔记

C语言atol():将字符串转换为长整数(long int)

atol() 是 C语言的一个标准库函数,定义在<stdlib.h>头文件中。

atol() 函数用于将字符串转换为长整数(long int)。函数的原型如下:
long int atol(const char *str);

参数

str:指向要转换的字符串。

返回值

如果转换成功,函数将返回转换后的整数;如果无法执行有效的转换,函数返回 0。

atol() 函数将字符串转换为整数的具体过程是:先丢弃尽可能多的空白字符,找到第一个非空白字符,然后从这个字符开始,初始字符可以是 + 或者 - 号,后跟尽可能多的十进制数字,最终将它们转换成整数。

【实例】以下的 C 语言代码示例演示了 atol() 函数的功能和用法。
#include <stdio.h>
#include <stdlib.h>

int main() {
    const char *str1 = "  1234567";
    const char *str2 = "-987654";

    long int value1 = atol(str1);
    long int value2 = atol(str2);

    printf("Value from str1: %ld\n", value1); // 输出 "Value from str1: 1234567"
    printf("Value from str2: %ld\n", value2); // 输出 "Value from str2: -987654"

    return 0;
}
输出结果为:

Value from str1: 1234567
Value from str2: -987654

在这个例子中,我们使用 atol() 将两个字符串转换为长整数。字符串可以包含前导空格,并可以包括一个正号或负号。

推荐阅读