📜  C C ++中的atol(),atoll()和atof()函数(1)

📅  最后修改于: 2023-12-03 15:29:41.268000             🧑  作者: Mango

C/C++中的atol()、atoll()和atof()函数

在C/C++语言中,用于将字符串转换成数字的函数有很多,其中就包括了atol()、atoll()和atof()函数。这三个函数都是stdlib.h库中的函数,分别用于将字符串转换成长整型、长长整型和浮点型数据。

1. atoi()函数

atol()函数用于将字符串转换为长整型,其函数原型如下:

long atol(const char* str)

该函数会将参数 str 所指向的字符串转换为长整型数(类型为 long)。如果不能进行有效的转换,则返回 0

下面是一个例子:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char str1[] = "12";
    char str2[] = "1234567";
    char str3[] = "-98655";
    char str4[] = "ab123";

    long num1 = atol(str1);
    long num2 = atol(str2);
    long num3 = atol(str3);
    long num4 = atol(str4);

    printf("%ld\n", num1); // 输出: 12
    printf("%ld\n", num2); // 输出: 1234567
    printf("%ld\n", num3); // 输出: -98655
    printf("%ld\n", num4); // 输出: 0

    return 0;
}
2. atoll()函数

atoll()函数用于将字符串转换为长长整型,其函数原型如下:

long long atoll(const char* str)

该函数会将参数 str 所指向的字符串转换为长长整型数(类型为 long long)。如果不能进行有效的转换,则返回 0

下面是一个例子:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char str1[] = "12";
    char str2[] = "12345678901234567";
    char str3[] = "-98655678901234";
    char str4[] = "ab123";

    long long num1 = atoll(str1);
    long long num2 = atoll(str2);
    long long num3 = atoll(str3);
    long long num4 = atoll(str4);

    printf("%lld\n", num1); // 输出: 12
    printf("%lld\n", num2); // 输出: 12345678901234567
    printf("%lld\n", num3); // 输出: -98655678901234
    printf("%lld\n", num4); // 输出: 0

    return 0;
}
3. atof()函数

atof()函数用于将字符串转换为浮点型,其函数原型如下:

double atof(const char* str)

该函数会将参数 str 所指向的字符串转换为浮点型数(类型为 double)。如果不能进行有效的转换,则返回 0.0

下面是一个例子:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char str1[] = "12.5";
    char str2[] = "1234.567";
    char str3[] = "-98.655";
    char str4[] = "ab123.456";

    double num1 = atof(str1);
    double num2 = atof(str2);
    double num3 = atof(str3);
    double num4 = atof(str4);

    printf("%f\n", num1); // 输出: 12.500000
    printf("%f\n", num2); // 输出: 1234.567000
    printf("%f\n", num3); // 输出: -98.655000
    printf("%f\n", num4); // 输出: 0.000000

    return 0;
}
总结

以上就是C/C++中的 atol()atoll()atof() 函数的简单介绍。记得在使用这些函数时,需要包含 stdlib.h 头文件。如果你不确定函数能否成功转换你的字符串,最好先进行一次检查以避免程序崩溃。