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

分析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;

}

若有错误,请给我留言。

http://www.xdnf.cn/news/3978.html

相关文章:

  • 【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)
  • 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)
  • Linux怎么更新已安装的软件
  • sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama解释这行代码的含义
  • 1.openharmony环境搭建
  • osquery在网络安全入侵场景中的应用实战(二)
  • 关于毕业论文,查重,AIGC
  • QT6 源(78):阅读与注释滑动条 QSlider 的源码,其是基类QAbstractSlider 的子类,及其刻度线的属性举例
  • 算法热题——等价多米诺骨牌对的数量
  • 【实战教程】React Native项目集成Google ML Kit实现离线水表OCR识别
  • 【云备份】服务端业务处理模块设计与实现
  • 2025-04-18-文本相似度-菜鸟
  • LLM(17):计算所有输入 token 的注意力权重
  • 【C语言练习】023. 编写条件编译代码
  • 高速互联技术:NVLink和PCIe有什么区别
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(七)
  • 深度学习系统学习系列【4】之反向传播(BP)四个基本公式推导
  • Jogging(ABC249-A-竞赛题解)
  • 【QT】QT安装
  • ​亚马逊云服务器技术全景解析:从基础架构到行业赋能​
  • 42. 接雨水(相向双指针/前后缀分解),一篇文章讲透彻
  • 从代码学习深度学习 - 目标检测前置知识(二) PyTorch版
  • uniapp 云开发全集 云开发的概念
  • 什么是原码、反码与补码?
  • 数据管理能力成熟度评估模型(DCMM)全面解析:标准深度剖析与实践创新
  • 【Java项目脚手架系列】第二篇:JavaWeb项目脚手架
  • js获取明天日期、Vue3大菠萝 Pinia的使用
  • 【Linux系统篇】:Linux线程互斥---如何用互斥锁守护多线程程序
  • MCUboot 中的 BOOT_SWAP_TYPE_PERM 功能介绍
  • (undone) MIT6.S081 2023 学习笔记 (Day11: LAB10 mmap)