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)

atoi和strtol的区别和使用

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

strtol 函数详解

样题: POJ 2105 +----------------+ |      strtol             | +----------------+ i.e. string to ...
  • S031302306
  • S031302306
  • 2016年07月29日 07:39
  • 1334

strtol函数、strtod函数、strtoul函数

+----------------+ |      strtol             | +----------------+ i.e. string to long long i...
  • sinat_24520925
  • sinat_24520925
  • 2015年03月24日 09:43
  • 923

strtol()详解

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

strtol函数使用

今天在阅读公司代码时,见到这个函数,在百度百科上查阅了一番,觉得在处理字符串中的数据是还是很有用途的,特地在网上搜索了一番,发现前人已经非常详细地介绍了函数的应用。 strtol函数  ...
  • jsh13417
  • jsh13417
  • 2013年03月25日 20:19
  • 2275

strtol 函数

函数及其参数   long int strtol(const char *nptr,char **endptr,int base); 函数的解释说明   这个函数会将参数nptr字符...
  • zoutian007
  • zoutian007
  • 2012年08月02日 23:10
  • 604

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

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

strtol()详解

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

atoi和strtol的区别和使用

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

atol和strtol的区别

atol和strtol的区别          字符串中有两个重要的函数:atol和strtol,它们的功能都是字符数组,转数值。但是用法差异较大。我们下面来说一下这两个函数在具体使用的时候要注意...
  • puqutogether
  • puqutogether
  • 2015年01月31日 23:28
  • 2036
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:strtol函數的用法
举报原因:
原因补充:

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