• _itoa atoi、atof、itoa、itow _itoa_s 类型转换使用说明


    原文:http://www.cnblogs.com/lidabo/archive/2012/07/10/2584706.html

    _itoa

    功能:把一整数转换为字符串

    用法:char * _itoa(int value, char *string, int radix);

      详细解释: _itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.其中value为要转化的整数, radix是基数的意思,即先将value转化为radix进制的数,之后再保存在string中.

      备注:该函数的头文件是"stdlib.h"

      程序例:

      #include <stdlib.h>

      #include <stdio.h>

      int main()

      {

      int number = 123456;

      char string[25];

      _itoa(number, string, 10);

      printf("integer = %d string = %s ", number, string);

      return 0;

      }

      注释:编译系统:VC++6.0,TC不支持。


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bufrfish/archive/2008/11/03/3209167.aspx

    atoi、atof、_itoa、_itow 函数使用

    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):
    复制代码

    1#include <stdlib.h>
    2#include <stdio.h>
    3
    4void main( void )
    5{
    6   char *s; double x; int i; long l;
    7
    8    printf( " testing atoi,atof,atol function : " ) ;
    9    s = "   -2309.12E-15";    /* Test of atof */
    10    x = atof( s );
    11    printf( "atof test: ASCII string: %s float:   %e ", s, x );
    12
    13    s = "7.8912654773d210";  /* Test of atof */
    14    x = atof( s );
    15    printf( "atof test: ASCII string: %s float:   %e ", s, x );
    16
    17    s = "   -9885 pigs";      /* Test of atoi */
    18    i = atoi( s );
    19    printf( "atoi test: ASCII string: %s integer: %d ", s, i );
    20
    21    s = "98854 dollars";     /* Test of atol */
    22    l = atol( s );
    23    printf( "atol test: ASCII string: %s long: %ld ", s, l );
    24}
    25
    复制代码

    输出:

    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):

    Code

    输出:

    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)

  • 相关阅读:
    Android为TV端助力 遥控器的映射
    Android为TV端助力 eclipse出现感叹号的解决办法
    Android为TV端助力 事件分发机制
    Andriod项目开发实战(1)——如何在Eclipse中的一个包下建新包
    华为OJ平台——密码强度等级
    华为OJ平台——求最大连续bit数
    华为OJ平台——统计字符串中的大写字母
    Java基础——序列化
    final、finally、finalize的区别
    Java基础——反射
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7199654.html
Copyright © 2020-2023  润新知