当前位置: 首页 > news >正文

分析atoi(),atol()和atof()三个函数的功能

字符串转换为数值的函数有:atoi(),atol(),atof(),

1、atoi()函数

int atoi(const char *str);

将“str所指向的整数字符串”转换为一个有符号32位整数。

void Test_atoi(void)

{

char buf[15];//声明char型数组

int retValue;//声明int型变量

  

retValue=0xFFFFFFFF;//和retValue=-1等价;

strcpy(buf,"10");//将字符串"10"拷贝到buf[]中

retValue=atoi(buf);

//将"整数字符串10"转换为一个有符号32位整数,保存到retValue中

//retValue=10;

strcpy(buf,"-1");//将字符串"-1"拷贝到buf[]中

retValue=atoi(buf);

//将"整数字符串-1"转换为一个有符号32位整数,保存到retValue中

//retValue=-1;其十六进数据为0xFFFFFFFF

retValue=0;

}

2、atol()函数

long int atol(const char *str);

将“str所指向的字符串”转换为一个有符号32位整数。

注意:在MDK-ARM中,“long int”表示有符号32位整数,所以atol()和atoi()功能一样。在16位的系统上,int是16位的,long是32位的。所以atol()和atoi()在16位的系统上还是有区别的

#include "string.h" //strcpy()需要包含string.h头文件

#include "stdlib.h" //atol()需要包含stdlib.h头文件

void Test_atol(void)

{

char buf[15];//声明char型数组

long int retValue;//声明long int型变量(有符号32位)

  

retValue=0xFFFFFFFF;//和retValue=-1等价;

strcpy(buf,"10");

retValue=atol(buf);

//将"整数字符串10"转换为一个有符号32位整数,保存到retValue中

//retValue=10;

strcpy(buf,"-1");

retValue=atol(buf);

//将"整数字符串-1"转换为一个有符号32位整数,保存到retValue中

//retValue=-1;其十六进数据为0xFFFFFFFF

retValue=0;

}

3、atof()函数

double atof(const char *str);

将“str所指向的字符串”转换为一个双精度浮点数。

void Test_atof(void)

{

char buf[15];//声明char型数组

double retValue;//声明double型变量(有符号64位)

strcpy(buf,"10.5");

retValue=atof(buf);

//将"整数字符串10.5"转换为一个双精度浮点数,保存到retValue中

//retValue=10.5;

strcpy(buf,"-1.5");

retValue=atof(buf);

//将"整数字符串-1.5"转换为一个双精度浮点数,保存到retValue中

//retValue=-1.5;

retValue=0;

}

若有错误,请给我留言。

相关文章:

  • C语言高频面试题——嵌入式系统去访问某特定的内存位置
  • 技术犯规计入个人犯规吗·棒球1号位
  • 2022年408真题及答案
  • 国内短剧 vs. 海外短剧系统:如何选择?2025年深度对比与SEO优化指南
  • RAGEN 简介:基于强化学习的智能体生成; StarPO框架:状态 - 思考 - 行动 - 奖励策略
  • 架构进阶:什么是数据架构,如何理解数据架构?(华为)
  • FOC算法开环控制基础
  • springboot单体项目的执行流程
  • Hi3516A的gpio控制备忘
  • 如何设计一个为QStackWidget的界面切换动画?
  • AI Agent 要用到的技术
  • /etc/kdump.conf 配置详解
  • backward梯度返回顺序要求(forward的输入、backward的输出)
  • 2025年中国光电子器件产业链分析
  • 大模型基础(五):transformers库(下):快速分词器、自动配置类、快速微调
  • 认识并理解什么是链路层Frame-Relay(帧中继)协议以及它的作用和影响
  • Spring-使用Java的方式配置Spring
  • 每日c/c++题 备战蓝桥杯(P1886 滑动窗口 /【模板】单调队列)
  • 大模型推理框架简介
  • 微前端qiankun动态路由权限设计与数据通信方案
  • 印巴矛盾已达近年“最高点”:军政经文全面紧张,巴将向联合国通报局势
  • 媒体:不能让追求升学率,成为高中不双休的借口
  • 印度扩大对巴措施:封锁巴基斯坦名人账号、热门影像平台社媒
  • 塞尔维亚总统因突发健康问题,中断对美国的正式访问并回国
  • 长三角铁路今日预计发送390万人次,昨日客发量同比增长10.5%
  • 中央气象台:未来三天北方地区有大风沙尘,江南等地有强降水