Linux下c++中的atoi、atol、atoll、atof函数调用实例

本文中调用的四个函数如下:

atoi函数:将字符串转化为int类型变量

atol函数:将字符串转化为long类型变量

atoll函数:将字符串转化为long long类型变量

atof函数:将字符串转化为double类型变量

这些函数的转化过程,都是将一个字符串的可读部分取到变量中

遇到不可读的部分,则直接终止读取

调用示例:

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

#define Seperate(); printf("\n=============\n\n");

int main()
{
    Seperate();

    //atoi
    printf("atoi: string to integer\n");
    const char* s00 = "1234567890";
    printf("%s -> %d\n", s00, atoi(&s00[0]));    
    const char* s01 = "123.4";
    printf("%s -> %d\n", s01, atoi(&s01[0]));
    const char* s02 = "xyz";
    printf("%s -> %d\n", s02, atoi(&s02[0]));
    const char* s03 = "1234xyz";
    printf("%s -> %d\n", s03, atoi(&s03[0]));

    Seperate();

    //atol
    printf("atol: string to long\n");
    const char* s10 = "1234567890123";
    printf("%s -> %ld\n", s10, atol(&s10[0]));    
    const char* s11 = "123.4";
    printf("%s -> %ld\n", s11, atol(&s11[0]));
    const char* s12 = "xyz";
    printf("%s -> %ld\n", s12, atol(&s12[0]));
    const char* s13 = "1234xyz";
    printf("%s -> %ld\n", s13, atol(&s13[0]));
    
    Seperate();    

    //atoll
    printf("atoll: string to long long\n");
    const char* s20 = "1234567890123";
    printf("%s -> %lld\n", s20, atoll(&s20[0]));    
    const char* s21 = "123.4";
    printf("%s -> %lld\n", s21, atoll(&s21[0]));
    const char* s22 = "xyz";
    printf("%s -> %lld\n", s22, atoll(&s22[0]));
    const char* s23 = "1234xyz";
    printf("%s -> %lld\n", s23, atoll(&s23[0]));    

    Seperate();

    //atof
    printf("atof: string to double\n");
    const char* s30 = "1234567890";
    printf("%s -> %lf\n", s30, atof(&s30[0]));    
    const char* s31 = "123.4";
    printf("%s -> %lf\n", s31, atof(&s31[0]));
    const char* s32 = "xyz";
    printf("%s -> %lf\n", s32, atof(&s32[0]));
    const char* s33 = "1234xyz";
    printf("%s -> %lf\n", s33, atof(&s33[0]));    

    Seperate();
    
    return 0;
}

 

运行效果:

192258_NeWd_1425762.png

END

转载于:https://my.oschina.net/Tsybius2014/blog/338234

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值