atoi、atof、itoa、itow函数简介

2024-02-20 19:58
文章标签 函数 简介 itoa atoi atof itow

本文主要是介绍atoi、atof、itoa、itow函数简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



本文转自:http://blog.sina.com.cn/s/blog_53a732bb0100ws2v.html

atoi、atof、itoa、itow函数是windows平台下实现字符串与数值相互转换的函数。Linux平台下请使用标准库中的sprintf与sscanf函数。

 
atoi函数

原型:int atoi( const char *string );

ASCII to integer

作用:将字符串转为integer类型

 

atof函数

原型:double atof( const char *string );

ASCII to float

作用:将字符串转为double类型

 

对于以上函数,若字符串无法转化为合法的数值类型,函数将返回0 。

使用范例(来自MSDN):
atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用Code
 1atoi、atof、_itoa、_itow 函数使用#include <stdlib.h>
 2atoi、atof、_itoa、_itow 函数使用#include <stdio.h>
 3atoi、atof、_itoa、_itow 函数使用
 4atoi、atof、_itoa、_itow 函数使用void main( void )
 5atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用{
 6atoi、atof、_itoa、_itow 函数使用   char *s; double x; int i; long l;
 7atoi、atof、_itoa、_itow 函数使用
 8atoi、atof、_itoa、_itow 函数使用   printf( " testing atoi,atof,atol function :\n" ;
 9atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   = "  -2309.12E-15"   
10atoi、atof、_itoa、_itow 函数使用   = atof( );
11atoi、atof、_itoa、_itow 函数使用   printf( "atof test: ASCII string: %s\tfloat:  %e\n"s, );
12atoi、atof、_itoa、_itow 函数使用
13atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   = "7.8912654773d210" 
14atoi、atof、_itoa、_itow 函数使用   = atof( );
15atoi、atof、_itoa、_itow 函数使用   printf( "atof test: ASCII string: %s\tfloat:  %e\n"s, );
16atoi、atof、_itoa、_itow 函数使用
17atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   = "  -9885 pigs"     
18atoi、atof、_itoa、_itow 函数使用   = atoi( );
19atoi、atof、_itoa、_itow 函数使用   printf( "atoi test: ASCII string: %s\t\tinteger: %d\n"s, );
20atoi、atof、_itoa、_itow 函数使用
21atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   = "98854 dollars"    
22atoi、atof、_itoa、_itow 函数使用   = atol( );
23atoi、atof、_itoa、_itow 函数使用   printf( "atol test: ASCII string: %s\t\tlong: %ld\n"s, );
24atoi、atof、_itoa、_itow 函数使用}
25atoi、atof、_itoa、_itow 函数使用
 

输出:

atof test: ASCII string:   -2309.12E-15 float: -2.309120e-012

atof test: ASCII string: 7.8912654773d210 float: 7.891265e+210

atoi test: ASCII string:   -9885 pigs    integer: -9885

atol test: ASCII string: 98854 dollars    long: 98854


 

_itoa函数

原型:char *_itoa( int value, char *str, int radix  );//2<=radix<=36

Integer to ASCII

作用:将Integer类型转换为radix进制,然后以ASCII字符串的形式存放在str中

 

_itow函数

wchar_t * _itow( int value, wchar_t *str, int radix ); //2<=radix<=36

Integer to Wide Char

作用:将Integer类型转换为radix进制,然后以宽字符串的形式存放在str中
 

    以上2个函数均有安全隐患(当字符数组长度不足保存结果时会导致缓冲区溢出),在vs2008中编译时会有警告。推荐使用它们的安全版本—— _itoa_s与_itow_s 。

 
_itoa_s 函数原型如下:

 errno_t _itoa_s(

   int value,

   char *buffer,

   size_t sizeInCharacters,  //存放结果的字符数组长度

   int radix

);

当转换的结果长度比sizeInCharacters变量大时,由于出现access violation,函数将马上终止,而_itoa函数将继续运行。

使用范例(来自MSDN):

atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用Code
 1atoi、atof、_itoa、_itow 函数使用#include<string.h>
 2atoi、atof、_itoa、_itow 函数使用#include<stdlib.h>
 3atoi、atof、_itoa、_itow 函数使用#include<stdio.h>
 4atoi、atof、_itoa、_itow 函数使用
 5atoi、atof、_itoa、_itow 函数使用int main( void )
 6atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用{
 7atoi、atof、_itoa、_itow 函数使用   char buffer[65];
 8atoi、atof、_itoa、_itow 函数使用   int r;
 9atoi、atof、_itoa、_itow 函数使用   printf( "test _itoa function \n" ;
10atoi、atof、_itoa、_itow 函数使用   forr=10r>=2--)
11atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   atoi、atof、_itoa、_itow 函数使用{
12atoi、atof、_itoa、_itow 函数使用     _itoa( -1buffer, ); // C4996
13atoi、atof、_itoa、_itow 函数使用     // Note: _itoa is deprecated; consider using _itoa_s instead
14atoi、atof、_itoa、_itow 函数使用     printf( "base %d: %s (%d chars)\n"r, buffer, strnlen(buffer, _countof(buffer)) );
15atoi、atof、_itoa、_itow 函数使用   }
16atoi、atof、_itoa、_itow 函数使用
17atoi、atof、_itoa、_itow 函数使用   printf( "test _itoa_s function \n " ;
18atoi、atof、_itoa、_itow 函数使用   forr=10r>=2--)
19atoi、atof、_itoa、_itow 函数使用atoi、atof、_itoa、_itow 函数使用   atoi、atof、_itoa、_itow 函数使用{
20atoi、atof、_itoa、_itow 函数使用      _itoa_s( -1buffer, 65);
21atoi、atof、_itoa、_itow 函数使用      printf( "base %d: %s (%d chars)\n"r, buffer, strnlen(buffer, _countof(buffer)) );
22atoi、atof、_itoa、_itow 函数使用   }
23atoi、atof、_itoa、_itow 函数使用}
24atoi、atof、_itoa、_itow 函数使用

 

输出:

base 10: -1 (2 chars)

base 9: 12068657453 (11 chars)

base 8: 37777777777 (11 chars)

base 7: 211301422353 (12 chars)

base 6: 1550104015503 (13 chars)

base 5: 32244002423140 (14 chars)

base 4: 3333333333333333 (16 chars)

base 3: 102002022201221111210 (21 chars)

base 2: 11111111111111111111111111111111 (32 chars)

 

base 10: -1 (2 chars)

base 9: 12068657453 (11 chars)

base 8: 37777777777 (11 chars)

base 7: 211301422353 (12 chars)

base 6: 1550104015503 (13 chars)

base 5: 32244002423140 (14 chars)

base 4: 3333333333333333 (16 chars)

base 3: 102002022201221111210 (21 chars)

base 2: 11111111111111111111111111111111 (32 chars)

这篇关于atoi、atof、itoa、itow函数简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/729373

相关文章

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to