C语言atoi和atol函数详解和示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言atoi和atol函数详解和示例相关的知识,希望对你有一定的参考价值。

C语言提供了一系列函数把字符串转换为整数:atoi、atol、atoll和atoq。

1、包含头文件

#include <stdlib.h>

2、函数声明

int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);

3、功能说明

atoi:把字符串nptr转换为int。

atol:把字符串nptr转换为long int。

atol:把字符串nptr转换为long long int。

atoq:atoq() is an obsolete name for atoll()。

4、示例

/*
 * 程序名:book.c,此程序用于演示atoi函数族。
 * 作者:C语言技术网(www.freecplus.net) 日期:20190525。
*/
int main()
{
  int ii=0;
  ii=atoi("123");
  printf("ii=%d
",ii);  // 输出ii=123

  ii=atoi("123abc");
  printf("ii=%d
",ii);  // 输出ii=123,合法数字后的abc被忽略。

  ii=atoi("abc123");
  printf("ii=%d
",ii);  // 输出ii=0,数字前有字符为非法。

  ii=atoi("+123");
  printf("ii=%d
",ii);  // 输出ii=123,+是合法字符。

  ii=atoi("-123");
  printf("ii=%d
",ii);  // 输出ii=-123,-是合法字符。
}

5、其它说明

1)atol函数把字符串转换为long int,使用方法与atoi类似,您可以写代码测试一下,注意int和long的取值范围,在64位操作系统中,int的取值范围是-2147483648~2147483647,long的取仠范围是-9223372036854775808~9223372036854775807。

2)在64位操作系统中,long和long long类型没有区别,所以atoll和atoq函数暂时没什么意义。

6、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢。

以上是关于C语言atoi和atol函数详解和示例的主要内容,如果未能解决你的问题,请参考以下文章

atoi atof atol

c语言 所有类型转换函数

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

atof atoi atol strlod等函数

atoi函数和std::stoi函数的不同点