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

下面几个函数将字符串转换为长整型

函数原型:

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

上一篇:虚函数和纯虚函数的区别

下一篇:类型转换之字符串转int型

相关热门文章

给主人留下些什么吧!~~ 评论热议

    原文作者:细粉条
    原文地址: https://blog.csdn.net/liyun123gx/article/details/19125937
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞