[C.C++] C语言atoi函数

654 0
Honkers 2025-3-7 15:09:51 来自手机 | 显示全部楼层 |阅读模式

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

1、包含头文件

  1. #include <stdlib.h>
复制代码

2、函数声明

  1. int atoi(const char *nptr);
  2. long atol(const char *nptr);
  3. long long atoll(const char *nptr);
  4. 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、示例

  1. /*
  2. * 程序名:book.c,此程序用于演示atoi函数族。
  3. * 作者:C语言技术网(www.freecplus.net) 日期:20190525。
  4. */
  5. int main()
  6. {
  7. int ii=0;
  8. ii=atoi("123");
  9. printf("ii=%d\n",ii); // 输出ii=123
  10. ii=atoi("123abc");
  11. printf("ii=%d\n",ii); // 输出ii=123,合法数字后的abc被忽略。
  12. ii=atoi("abc123");
  13. printf("ii=%d\n",ii); // 输出ii=0,数字前有字符为非法。
  14. ii=atoi("+123");
  15. printf("ii=%d\n",ii); // 输出ii=123,+是合法字符。
  16. ii=atoi("-123");
  17. printf("ii=%d\n",ii); // 输出ii=-123,-是合法字符。
  18. }
复制代码

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)

作者:码农有道

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4009
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行