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;
}
运行效果:

END
Linux下c++中的atoi、atol、atoll、atof函数调用实例的更多相关文章
- dos2unix,去掉Linux下文件中的^M
Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...
- 将自己的SpringBoot应用打包发布到Linux下Docker中
目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...
- 详解Linux下iptables中的DNAT与SNAT设置(转)
详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下 原文连 ...
- Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap ...
- [转] 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 ...
- 在Linux下使用sprintf代替atoi实现整型转化为char*
程序中需要用到将整型转化为char*类型,然后将两个char*类型的变量拼接.将整型转化为char*自然想到了itoa函数: 头文件:#include <stdio.h> char *it ...
- linux下 vi中[noeol]以及出现 feff 的问题
"uptime.py" [noeol] 69L, 2311C"system/uptime.py" 69L, 2312C 'noeol' 就是 'no end-o ...
- Linux 下shell中exec解析
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell ...
- Linux下多进程编程之exec函数语法及使用实例
exec函数族 1)exec函数族说明 fork()函数用于创建一个子进程,该子进程几乎复制了父进程的全部内容,但是,这个新创建的进程如何执行呢?exec函数族就提供了一个在进程中启动另一个程序执行的 ...
随机推荐
- mysql长连接和短连接的问题 转
什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接-> ...
- paper 35 :交叉验证(CrossValidation)方法思想
交叉验证(CrossValidation)方法思想简介 以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(da ...
- spring中的bean后处理器
package com.process; import org.springframework.beans.BeansException; import org.springframework.bea ...
- 夺命雷公狗ThinkPHP项目之----企业网站15之文章删除的完成(单个)
我们文章最后一步就到他的删除了,这个其实是最简单的一个,废话不多说,先来写控制器: public function del(){ $id = I('ar_id'); if(M('Article')-& ...
- 夺命雷公狗ThinkPHP项目之----企业网站13之文章列表页的实现(主要是分页的实现)
列表页这个其实是比较简单的一个,直接遍历除数据即可: public function lists(){ //$mod = M("Article")->select(); // ...
- 夺命雷公狗ThinkPHP项目之----企业网站11之栏目的删除完成
我们删除要在分类模型中添加一个_before_delete的钩子函数,而且在删除一个分类时候,如果这个分类有子分类就不允许删除 model层代码如下所示: <?php namespace Adm ...
- MySQL增删改查
C/S:Client ServerB/S:Brower Server php主要实现B/S .net IIS java TomCat LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Ph ...
- OpenStack 镜像制作之cloud-init
Contents [hide] 1 背景 2 密钥登录 2.1 密钥登录的原理 2.1.1 openstack的私钥 2.1.2 密码注入 = 2.1.3 实际遇到的情况 2.1.4 解决办法 背景 ...
- delphi注册/反注册OCX
uses ShellAPI; function ExecAndWait(const ExecuteFile, ParamString : string): boolean; var SEInfo: T ...
- <c:if>条件判断 和 取值做乘法运算
http://www.yiibai.com/jstl/jstl_core_if_tag.html <td> ${log.etdhHandleTime }<span> < ...