`
anlx27
  • 浏览: 497543 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

itoa函数 atoi函数

阅读更多

原文地址:http://blog.csdn.net/ouyangzp/article/details/2570376

 

itoa函数及atoi函数 
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子: 

# include <stdio.h> 
# include <stdlib.h> 

void main (void) 
{ 
int num = 100; 
char str[25]; 
itoa(num, str, 10); 
printf("The number 'num' is %d and the string 'str' is %s. /n" , 
num, str); 
} 

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制... 
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。 
是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似: 

char str[255]; 
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。 

下列函数可以将整数转换为字符串: 
---------------------------------------------------------- 
函数名 作 用 
---------------------------------------------------------- 
itoa() 将整型值转换为字符串 
itoa() 将长整型值转换为字符串 
ultoa() 将无符号长整型值转换为字符串 

一  atoi     把字符串转换成整型数 
例程序: 
#include <ctype.h> 
#include <stdio.h> 
int atoi (char s[]); 

int main(void ) 
{   
char s[100]; 
gets(s); 
printf("integer=%d/n",atoi(s)); 
return 0; 
} 
int atoi (char s[]) 
{ 
int i,n,sign; 
for(i=0;isspace(s[i]);i++)//跳过空白符 
      ; 
sign=(s[i]=='-')?-1:1; 
if(s[i]=='+'||s[i]==' -')//跳过符号 
      i++; 
for(n=0;isdigit(s[i]);i++) 
      n=10*n+(s[i]-'0');//将数字字符转换成整形数字 
return sign *n; 
} 
       itoa      把一整数转换为字符串 
例程序: 
#include <ctype.h> 
#include <stdio.h> 
void      itoa (int n,char s[]); 
//atoi 函数:将s转换为整形数 
int main(void ) 
{   
int n; 
char s[100]; 
printf("Input n:/n"); 
scanf("%d",&n); 
        printf("the string : /n"); 
        itoa (n,s); 
return 0; 
} 
void itoa (int n,char s[]) 
{ 
int i,j,sign; 
if((sign=n)<0)//记录符号 
      n=-n;//使n成为正数 
        i=0; 
do{ 
      s[i++]=n%10+'0';//取下一个数字 
}while ((n/=10)>0);//删除该数字 
if(sign<0) 
      s[i++]='-'; 
s[i]='/0'; 
for(j=i;j>=0;j--)//生成的数字是逆序的,所以要逆序输出 
      printf("%c",s[j]); 
}  


是int 转string类型的一个函数 
msdn上是这么写的 
_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow 
Convert an integer to a string. 

char *_itoa( int value, char *string, int radix ); 

char *_i64toa( __int64 value, char *string, int radix ); 

char * _ui64toa( unsigned _int64 value, char *string, int radix ); 

wchar_t * _itow( int value, wchar_t *string, int radix ); 

wchar_t * _i64tow( __int64 value, wchar_t *string, int radix ); 

wchar_t * _ui64tow( unsigned __int64 value, wchar_t *string, int radix ); 

Routine Required Header Compatibility 
_itoa <stdlib.h> Win 95, Win NT 
_i64toa <stdlib.h> Win 95, Win NT 
_ui64toa <stdlib.h> Win 95, Win NT 
_itow <stdlib.h> Win 95, Win NT 
_i64tow <stdlib.h> Win 95, Win NT 
_ui64tow <stdlib.h> Win 95, Win NT 


For additional compatibility information, see Compatibility in the Introduction. 

Libraries 

LIBC.LIB Single thread static library, retail version 
LIBCMT.LIB Multithread static library, retail version 
MSVCRT.LIB Import library for MSVCRT.DLL, retail version 


Return Value 

Each of these functions returns a pointer to string. There is no error return. 

Parameters 

value 

Number to be converted 

string 

String result 

radix 

Base of value; must be in the range 2 – 36 

Remarks 

The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 bytes) in string. If radix equals 10 and value is negative, the first character of the stored string is the minus sign ( – ). _itow, _i64tow, and _ui64tow are wide-character versions of _itoa, _i64toa, and _ui64toa respectively. 

Generic-Text Routine Mappings 

TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined 
_itot _itoa _itoa _itow 


Example 

/* ITOA.C: This program converts integers of various 
* sizes to strings in various radixes. 
*/ 

#include <stdlib.h> 
#include <stdio.h> 

void main( void ) 
{ 
char buffer[20]; 
int i = 3445; 
long l = -344115L; 
unsigned long ul = 1234567890UL; 

_itoa( i, buffer, 10 ); 
printf( "String of integer %d (radix 10): %s/n", i, buffer ); 
_itoa( i, buffer, 16 ); 
printf( "String of integer %d (radix 16): 0x%s/n", i, buffer ); 
_itoa( i, buffer, 2 ); 
printf( "String of integer %d (radix 2): %s/n", i, buffer ); 

_ltoa( l, buffer, 16 ); 
printf( "String of long int %ld (radix 16): 0x%s/n", l, 
buffer ); 

_ultoa( ul, buffer, 16 ); 
printf( "String of unsigned long %lu (radix 16): 0x%s/n", ul, 
buffer ); 
} 


Output 

String of integer 3445 (radix 10): 3445 
String of integer 3445 (radix 16): 0xd75 
String of integer 3445 (radix 2): 110101110101 
String of long int -344115 (radix 16): 0xfffabfcd 
String of unsigned long 1234567890 (radix 16): 0x499602d2 


Data Conversion Routines 

See Also _ltoa, _ultoa

分享到:
评论

相关推荐

    itoa函数及atoi函数

    "itoa函数及atoi函数" itoa函数和atoi函数是C语言中两个常用的函数,用于在整数和字符串之间进行转换。下面对这两个函数进行详细的介绍。 itoa函数 itoa函数的作用是将整数转换为字符串。它的函数原型为`void ...

    C语言itoa、atoi和strlen的实现

    itoa函数的功能是将整型数值转换为对应的字符串。其基本思路是通过除法和取余操作,将数值逐位分解,并存储到字符数组中。例如,将整数1234转换为字符串"1234"。itoa函数通常有三个参数:整数、目标字符数组和基数...

    C语言itoa()函数和atoi()函数详解(整数转字符)

    C语言itoa()函数和atoi()函数详解 C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。其中,itoa()函数和atoi()函数是两个常用的函数,分别将整数转换为字符串和将字符串...

    基于atoi()与itoa()函数的内部实现方法详解

    在C语言中,`atoi()` 和 `itoa()` 函数是非常实用的工具,它们分别用于字符串到整数的转换和整数到字符串的转换。本文将深入探讨这两个函数的内部实现方法。 首先,我们来看 `atoi()` 函数。`atoi()` 是 "ASCII to ...

    atoi和itoa函数的实现方法

    `atoi` 和 `itoa` 是两个非常常用的字符串与整数相互转换的函数。在C++标准库中,`atoi` 函数属于 `&lt;cstdlib&gt;` 或 `&lt;cstdio&gt;` 头文件,而 `itoa` 虽然在一些旧的C语言环境中存在,但在C++标准库中并没有提供,通常...

    atoi--itoa-function-prototype.rar_itoa_prototype

    `atoi`和`itoa`函数就是两个关键的函数,用于实现字符串与整型之间的转换。本篇将深入探讨这两个函数的函数原型、用法及其在实际编程中的应用。 首先,`atoi`函数全称为“ASCII to Integer”,即把ASCII码表示的...

    mfc图形界面函数

    atoi 函数用于将字符串转换为整形值并返回。该函数的原型为:int atoi( const char *string ); 6.itoa 函数 itoa 函数用于将整形值转换为字符串。该函数的原型为:char *_itoa( int value, char *string, int ...

    atoi--itoa-function-prototype.rar_prototype

    本文将详细讲解两个常用的函数:`atoi` 和 `itoa`,它们分别用于字符串到整数和整数到字符串的转换。理解这两个函数的原型和用法对于提升C语言编程技能至关重要。 首先,我们来探讨`atoi`函数。`atoi`是英文“ASCII...

    深入理解atoi()与itoa()函数的用法

    itoa()函数的原型为: char *itoa( int value, char *string,int radix);itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转换数字时所用的基数。在例中,...

    linux C函数

    本文将详细讲解几个重要的C语言库函数:`atoi`、`atof`、`itoa`以及`atol`,并探讨它们的工作原理和使用场景。 一、`atoi`函数 `atoi`全称为ASCII to Integer,它用于将一个字符串转换为整型数。该函数定义在`...

    性能测试_loadrunner脚本录制的常用函数

    在数据转换函数中,有用于将字符串转换为整型、浮点型等的函数,如 atoi、itoa 等。 1、atoi 函数:用于将字符串转换为整型。 2、itoa 函数:用于将整型转换为字符串。 在实际应用中,这些函数可以组合使用,以...

    字符串处理函数

    字符串是Auto Lisp的基本数据之一,它常用于磁盘文件名,标识符的打印名等。Auto Lisp语言和其它高级语言一样,提供了一些字符串... ·ITOA ·ATOI ·ATOF ·RTOS ·ANGTOS ·STRCAT ·SUBSTR ·STRCASE ·READ

    C++函数库大全(最新全版)[归纳].pdf

    C++函数库大全 C++函数库大全是指C++语言中常用的...* itoa函数:将整数转换成字符串并存于string中,radix为转换时所用基数 这些函数库提供了丰富的函数接口,方便开发者快速实现各种功能,从而提高开发效率和质量。

    AutoLisp函数大全[借鉴].pdf

    4. `atoi` 函数:返回字符串转成整数值 5. `cvunit` 函数:返回数值转换单位后的值 6. `distof` 函数:返回根据模式将字符串转成实数值 7. `itoa` 函数:返回整数转成字符串 8. `rtos` 函数:返回实数转成字符串 9. ...

    面试重写C库函数

    在面试中,考察 C/C++ 库函数的实现是非常常见的,以下是关于 atoi、atof、itoa 等函数的实现详解。 1. atoi 函数 atoi 函数的作用是将一个字符串转换为整数。下面是 atoi 函数的实现代码: ```c int atoi(const ...

    c语言常用函数手册,集合了几百个常用函数

    7. **类型转换**:`&lt;cstdlib&gt;`和`&lt;cstdint&gt;`中的`atoi`、`atof`、`itoa`等函数,用于不同类型间的转换,如字符串转整数或浮点数。 8. **动态内存管理**:`malloc`和`calloc`用于动态分配内存,`realloc`可以改变已...

    c语言函数库调用.rar_C函数_C函数库_c语言函数库_c语言库函数_库函数

    7. 格式化转换函数:`atoi`、`atof` 和 `strtol` 分别将字符串转换为整数、浮点数和长整数,`itoa` 和 `ltoa` 将数字转换为字符串。 8. 链表和队列操作:虽然C语言标准库没有内置链表或队列结构,但开发者可以通过...

    C语言常用函数手册.rar

    2. 数据类型转换函数:如`int`, `float`, `double`等之间的转换,使用`(类型)`进行强制类型转换,还有`atoi`、`atof`、`itoa`等函数用于字符串与数值类型的转换。 3. 字符串处理函数:如`strcpy`用于复制字符串,`...

Global site tag (gtag.js) - Google Analytics