【问题标题】:How to convert String to int in C如何在C中将String转换为int
【发布时间】:2009-11-09 22:34:56
【问题描述】:

我有以下我想转换为 int 的东西。

char *ptr; // this can point to variable length of string

int balance = functionToConverIntoint(ptr)

那么在 C "functionToConverIntoint" 中有没有这样的函数可以完成这项工作?

【问题讨论】:

  • 你有没有 /try/ 在 stackoverflow 上搜索这个?
  • 是的,我有,但没有人在讨论 C 解决方案。
  • @itsaboutcode:这完全是错误的。对不起。 stackoverflow.com/search?q=[c]+string+to+int
  • Google 还处理直接从标题复制的问题。当然,第一个答案建议 atoi(),但无论如何。无论如何,Stack Overflow 的答案将是几个小时后的第一个答案。
  • 更重要的是,您是否考虑过购买 C 参考书或下载规范副本?这是一个非常非常基本的问题。

标签: c


【解决方案1】:

查看 strtol() 和 strtoul()。

您希望避免使用 atoi(),因为它没有很好的方法来区分字符串“0”和无效数字。

【讨论】:

  • strtol 有 3 个参数 strtoul 有 2 个我应该在其中输入什么?
  • 好的,谢谢我知道了,你能告诉我可以将字符串转换为浮点数的函数吗?
  • @itsaboutcode:你从哪里得到的? strtol 和 strtoul 都接受 3 个参数。
【解决方案2】:

是的。 atoi 是一个基本的,错误处理能力非常有限; strtol 更好。

【讨论】:

    【解决方案3】:

    还有sscanf()。

    【讨论】:

    • 不幸的是,sscanf 不提供溢出保护。在这种情况下,strto... 是唯一的解决方案。
    【解决方案4】:
    balance = atoi(ptr)
    

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 2017-03-19
      • 2011-07-31
      相关资源
      最近更新 更多