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

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;
}

运行效果:

END

 

Linux下c++中的atoi、atol、atoll、atof函数调用实例的更多相关文章

  1. dos2unix,去掉Linux下文件中的^M

    Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...

  2. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  3. 详解Linux下iptables中的DNAT与SNAT设置(转)

    详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下   原文连 ...

  4. Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法

    window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap ...

  5. [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

    [From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952 ...

  6. 在Linux下使用sprintf代替atoi实现整型转化为char*

    程序中需要用到将整型转化为char*类型,然后将两个char*类型的变量拼接.将整型转化为char*自然想到了itoa函数: 头文件:#include <stdio.h> char *it ...

  7. linux下 vi中[noeol]以及出现 feff 的问题

    "uptime.py" [noeol] 69L, 2311C"system/uptime.py" 69L, 2312C 'noeol' 就是 'no end-o ...

  8. Linux 下shell中exec解析

    exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息.       bash shell ...

  9. Linux下多进程编程之exec函数语法及使用实例

    exec函数族 1)exec函数族说明 fork()函数用于创建一个子进程,该子进程几乎复制了父进程的全部内容,但是,这个新创建的进程如何执行呢?exec函数族就提供了一个在进程中启动另一个程序执行的 ...

随机推荐

  1. PostgreSQL中字符串相关问题

    PostgreSQL的字符串类型有character.character varying和text的值.在使用character类型的时候, 它有自动填充空白的潜在影响,特别是在其它数据库(MySQL ...

  2. PostgreSQL Replication之第十章 配置Slony(6)

    10.6 执行故障切换 一旦您学会了如何复制表并将它们添加到集合中,是时候学习故障转移了.基本上,我们可以在两个两种类型的故障转移之间做出区分: • 计划内故障转移 • 计划外故障转移和崩溃 在本节, ...

  3. break和continue的区别以及标签label的使用

    break表示直接跳出当前循环,break只能运用于switch--case语句以及循环之中 continue则表示跳出当次循环,继续执行下一次循环 label标签则可以选择break,或者conti ...

  4. cpp quiz

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream&g ...

  5. Java基础(48):归并排序的Java封装含原理,完整可运行,结合VisualGo网站更好理解)

    原理: 归并排序建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序, ...

  6. Java基础(30):String对象的常用方法与实例(String类)

    Java 中 String 类的常用方法 Ⅰ String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之 ...

  7. C#: 数据绑定

    数据绑定是分离UI和后端主逻辑程序的一种好的办法.这里总结下TextBox, Label, ComboBox, ListBox, DataGridView的数据绑定 数据绑定都是通过DB来和UI控件的 ...

  8. Could not create the view: An unexpected exception was thrown.如何解决

    今天打开Myeclipse10的时候,发现server窗口出现一堆问题,问题如标题,然后下方出现了一堆java.lang.NullPointerException的问题. java.lang.Null ...

  9. CCF真题之命令行选项

    201403-3 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母 ...

  10. windows系统调用 进程终止

    #include "windows.h" #include "iostream" #include "stdio.h" using name ...