【问题标题】:How to convert char '5' into int '5' in C? [duplicate]如何在 C 中将 char '5' 转换为 int '5'? [复制]
【发布时间】:2012-07-06 05:01:06
【问题描述】:

可能重复:
How to convert a single char into an int

我正在开发一个程序,该程序需要从字符串中提取一个整数,然后将其添加到其他整数中。

I.E.输入“123456789”。我可以取出第 5 个字符“5”,但我需要将它添加到另一个 int。如果我尝试将其转换为 int,它会返回 ASCI 值。有什么办法可以将 char 转换为对应的 int 吗?

【问题讨论】:

    标签: c char int


    【解决方案1】:

    只需减去字符'0'的ASCII值。

    例如'5' - '0' = 5

    【讨论】:

    • 请注意,这也适用于 EBCDIC :)
    • @DanielFischer:非常感谢您的评论。如果使用 ASCII 会发生什么?
    • @Jack 它也可以。 Daniel 指出,因为一些类似的技巧(例如,'f'-'a'==5)在 EBCDIC 中不起作用。
    • @asaelr 那个特别适用于 EBCDIC,分裂在 'i' 和 'j' 之间以及 'r' 和 's' 之间(是的,我必须查一下,为什么你问吗?)。
    • 谢谢。 (我讲的是一般情况,没查:),另外,不知为什么,我认为有更多的分裂。)
    猜你喜欢
    • 2013-01-10
    • 1970-01-01
    • 2017-12-11
    • 2016-02-20
    • 2018-03-02
    • 1970-01-01
    • 2017-11-21
    • 2012-06-04
    • 2015-07-11
    相关资源
    最近更新 更多