2012-07-05 4 views
2

가능한 중복 : 다음 문자열에서 뽑아 정수를 필요로하는 프로그램 작업을하고 있어요
How to convert a single char into an intC에서 '5'를 int '5'로 변환하는 방법?

다른 정수에 추가됩니다.

I.E. "123456789"를 입력하십시오. 나는 5th char, '5'를 꺼낼 수 있지만 이것을 다른 int에 추가해야합니다. 이것을 int로 변환하려고하면 ASCI 값을 반환합니다. char를 해당 int로 변환 할 수있는 방법이 있습니까?

답변

9

문자 '0'의 ASCII 값을 그냥 빼십시오.

'5' - '0' = 5

+3

EBCDIC에서도 작동합니다. –

+0

@DanielFischer : 의견에 진심으로 감사드립니다. ASCII를 사용하면 어떻게됩니까? – Jack

+1

@Jack 너무 효과적입니다. Daniel은 EBCDIC에서 비슷한 트릭 (예 :''f '-'a == 5')이 작동하지 않기 때문에이를 지적했습니다. – asaelr

관련 문제