strtol函數的用法

转载 2012年03月22日 10:57:25
相关函数: atof, atoi, atol, strtod, strtoul
表头文件: #include <stdlib.h>
定义函数: long int strtol(const char *nptr, char **endptr, int base)
函数说明: strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数


base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10


进制(字符串以10进制表示),若base值为16则采用16进制(字符串以16进制表示)


。当base值为0时则是采用10进制做转换,但遇到如''0x''前置字符则会使用16进


制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到


遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(''\0'')结束


转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的


nptr中的字符指针由endptr返回。
返回值:    返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中



附加说明: ERANGE指定的转换字符串超出合法范围。




将字符串a, b, c 分别采用10, 2, 16进制转换成数字
------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
main()
{
     char a[] = "100";
     char b[] = "100";
     char c[] = "ffff";
     printf("a = %d\n", strtol(a, NULL, 10)); //100
     printf("b = %d\n", strtol(b, NULL, 2));    //4
     printf("c = %d\n", strtol(c, NULL, 16)); //65535
}


"100" ---> 100 (Dec) ---> 100 (Dec)
"100" ---> 100 (BIN) ---> 4    (Dec)
"ffff"---> ffff(Hex) ---> 65535(Dec)

strtol 函数详解

样题: POJ 2105 +----------------+ |      strtol             | +----------------+ i.e. string to ...

atoi和strtol的区别和使用

     atoi和strtol函数均是把字符串转换成整数,两者的不同点主要是:1,atoi的返回值无法区分是正常的返回还是错误的返回,如:      int val;      val = atoi...
  • tenfyguo
  • tenfyguo
  • 2010年09月06日 14:40
  • 17238

strtol()详解

long int strtol(const char *nptr, char **endptr, int base) strtol()会将nptr指向的字符串,根据参数base,按权转化为long ...
  • S_52588
  • S_52588
  • 2014年05月16日 11:34
  • 1464

c/c++函数 -strtol strtoll strtoul strtoull 使用注意项cc

strtol strtoll strtoul strtoull 使用注意项
  • ywy2090
  • ywy2090
  • 2017年03月22日 14:24
  • 1573

atoi和strtol的区别和使用

atoi和strtol函数均是把字符串转换成整数,两者的不同点主要是: 1,atoi的返回值无法区分是正常的返回还是错误的返回,如:       int val;       val...
  • bytxl
  • bytxl
  • 2015年09月11日 17:29
  • 866

strtol()详解

今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。 网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的...

atol和strtol的区别

atol和strtol的区别          字符串中有两个重要的函数:atol和strtol,它们的功能都是字符数组,转数值。但是用法差异较大。我们下面来说一下这两个函数在具体使用的时候要注意...

strtol ( )【C语言库函数源代码】

【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/*   这个函数会将参数nptr字符串根据参数base来转换成长整型数。   参数base范围从2至36,或0。参数bas...

强大的进制转换strtol

转自http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html +----------------+ |      s...

linux c strtol 函数解析

来自于:http://www.cnblogs.com/lzjsky/archive/2011/01/05/1926369.html    感谢作者! long int strtol(cons...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:strtol函數的用法
举报原因:
原因补充:

(最多只允许输入30个字)