atol ()-atoll ()- 将字符串转换为长整数或长整数

格式 (atol())

#include <stdlib.h>
long int atol(const char *string);

格式 (atoll())

#include <stdlib.h>
long long int atoll(const char *string);

语言级别

ANSI

线程安全

语言环境敏感

这些函数的行为可能受当前语言环境的 LC_CTYPE 类别影响。 有关更多信息,请参阅 了解 CCSID 和语言环境

描述

atol() 函数将字符串转换为长整型值。 atoll() 函数将字符串转换为长整型值。

输入 string 是可以解释为指定返回类型的数字值的字符序列。 该函数在无法识别为数字一部分的第一个字符处停止读取输入字符串。 此字符可以是结束字符串的空字符。

atol()atoll() 函数无法识别小数点或指数。 此函数的 string 自变量具有以下格式:

读取语法图跳过可视语法图空格+-数字

其中 whitespaceisspace() 函数为 true 的相同字符组成,例如空格和制表符。 atol()atoll() 函数将忽略前导空格字符。 值 数字 表示一个或多个十进制数字。

返回值

atol()atoll() 函数返回通过将输入字符解释为数字而生成的 long 或 long long 值。 如果函数无法将输入转换为该类型的值,那么返回值为 0L 。 在溢出的情况下未定义返回值。

示例

此示例显示如何将存储为字符串的数字转换为数字值。
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    long l;
    char *s;
 
    s = "98854 dollars";
    l = atol(s);     /* l = 98854 */
 
    printf("l = %.ld\n",l);
}
 
/*******************  Output should be similar to:  ***************
 
l = 98854
*/

相关信息