下面几个函数将字符串转换为长整型
函数原型:
阅读(51) | 评论(0) | 转发(0) |
<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>
函数原型:
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
相关热门文章
给主人留下些什么吧!~~
评论热议