类型转换之字符串转换为长整型

下面几个函数将字符串转换为长整型
函数原型:
long atol(
   const char *str 
);

long _wtol(
   const wchar_t *str 
);
需要包含的头文件:#include <stdlib.h>
函数参数:str:将要转换的字符串
函数返回值:成功返回转换后的数值,失败返回0L。对于正整数的溢出,返回LONG_MAX,对于负整数值得溢出,返回LONG_MIN。在所有超出范围的情况下,errno设置为ERANGE.
_wtol()与atol()的区别是,它转换的是宽字符字符串。
atol()示例程序:
#include "stdafx.h"
#include <stdlib.h>
#include <errno.h>


int _tmain(int argc, _TCHAR* argv[])
{
 char    *str = NULL;
 long    value = 0;


 // An example of the atol function
 // with leading and trailing white spaces.
 str = "  1234";
 value = atol( str );
 printf( "Function: atol( \"%s\" ) = %d\n", str, value );
 
 // An example of the atol function
 // with an  negative.
 str = "-1024";
 value = atol( str );
 printf( "Function: atol( \"%s\" ) = %d\n", str, value );


 // Another example of the atol function 
 // with an arbitrary decimal point.
 str = "3452012.88";
 value = atol( str );
 printf( "Function: atol( \"%s\" ) = %d\n", str, value );


 // Another example of the atol function
 // with an overflow condition occurring.
 str = "123485479512586";
 value = atol( str );
 printf( "Function: atol( \"%s\" ) = %d\n", str, value );
 if (errno == ERANGE)
 {
 printf("Overflow condition occurred.\n");
 }

 getchar();
 return 0;
} 
运行结果:
 
_wtol示例程序:
#include "stdafx.h"  
#include <stdlib.h> 
#include <errno.h> 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
    wchar_t *str = NULL; 
    long    value = 0; 
    // An example of the atol function 
    // with leading and trailing white spaces. 
    str = L"  -568 "; 
    value = _wtol( str ); 
    printf( "Function: _wtol( \"%ws\" ) = %d\n", str, value ); 
    // Another example of the atol function 
    // with an arbitrary decimal point. 
    str = L"85462.64"; 
    value = _wtol( str ); 
    printf( "Function: _wtol( \"%ws\" ) = %d\n", str, value ); 
    // Another example of the atol function 
    // with an overflow condition occurring. 
    str = L"56214895756213"; 
    value = _wtol( str ); 
    printf( "Function: _wtol( \"%ws\" ) = %d\n", str, value ); 
    if (errno == ERANGE) 
    { 
        printf("Overflow condition occurred.\n"); 
    } 
    getchar(); 
    return 0; 
} 

运行结果:
 
 
另外,字符串转int型介绍:http://blog.chinaunix.net/uid-29121609-id-4031083.html
字符串转换为double型:http://blog.chinaunix.net/uid-29121609-id-4031108.html

 
 
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(51) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值