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函数族就提供了一个在进程中启动另一个程序执行的 ...
随机推荐
- Leetcode: Arithmetic Slices
A sequence of number is called arithmetic if it consists of at least three elements and if the diffe ...
- SQL 数据库 right join 和left join 的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- UVa10025-The ? 1 ? 2 ? ... ? n = k problem
分析:因为数字之间只有加减变换,所以-k和k是一样的,都可以当成整数来考虑,只要找到最小的n满足sum=n*(n+1)/2>=k:且sum和k同奇同偶即可,做法是用二分查找,然后在就近查找 因为 ...
- VS2012离线安装Xamarin (含破解补丁)
Xamarin离线安装包 来源于 忘忧草 特此感谢! 离线安装不成功:参考源 http://www.cnblogs.com/zjoch/p/3937014.html / http://www.cnb ...
- nyist 596 谁是最好的Coder
http://acm.nyist.net/JudgeOnline/problem.php?pid=596 谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 难度:0 ...
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- linux下MYSQL备份与恢复
1.用命令实现备份 数据库备份是很重要的.如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少.MySQLl提供了一个mysqldump命令,我们可以用它进行数据 ...
- ajax基本用法
ajax能做到无刷新数据交互,给用户体验带来好处的同时也减小了服务器的压力,所以运用ajax能使网站性能更强劲.更吸引用户. 大型网站少不了注册页面,而大多数情况下我们不想让用户有相同的注册ID,所以 ...
- oracle的表空间
创建表空间 1:创建单个文件的表空间 CREATE TABLESPACE SAMPLE LOGGING DATAFILE 'D:\11.dbf' SIZE 5M REUSE EXTENT MANAGE ...
- app_field.clear_dependent_fields
可以调用APP_FIELD.clear_dependent_fields和APP_FIELD.set_dependent_field来将两个(或多个)Item建立关联,当一个为空时,另一个不可录入,反 ...