strtol - KimTaebin-ai/study_posts GitHub Wiki

atoi ν•¨μˆ˜μ—μ„œ LONG_MIN, LONG_MAX λ²”μœ„λ₯Ό λ„˜μ–΄κ°ˆ λ•Œμ— λŒ€ν•œ 처리

image

glibcμ—μ„œμ˜ atoi ν•¨μˆ˜ μ›ν˜•μ„ 보면 μœ„μ™€ κ°™λ‹€.

strtol ν•¨μˆ˜λ₯Ό 톡해 λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ°”κΏ”μ€€ ν›„ int ν˜•μœΌλ‘œ μΊμŠ€νŒ…ν•˜μ—¬ λ¦¬ν„΄ν•˜κ³  μžˆλ‹€.

이 κ³Όμ •μ—μ„œ LONG_MINκ³Ό LONG_MAX κ°’μ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚  경우 리턴 값이 κ³ μ •λœλ‹€.

strtol ν•¨μˆ˜μ˜ man μ„€λͺ…을 보자

image

strtol ν•¨μˆ˜λŠ” LONG_MINκ³Ό LONG_MAX의 값을 λ„˜μ–΄κ°€λ©΄ μ˜€λ²„ν”Œλ‘œμš°μ™€ μ–Έλ”ν”Œλ‘œμš°κ°€ μΌμ–΄λ‚˜μ„œ 더 이상 λ³€ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€. μ‹€μ œλ‘œ 더 큰 값을 λ„£κ³  ν•¨μˆ˜λ₯Ό 돌렀보면 LONG_MINκ³Ό LONG_MAX의 κ°’λ§Œ κ³ μ •λ˜μ–΄ 좜λ ₯λ˜λŠ” 것을 μ•Œ 수 μžˆλ‹€.

κ²°κ΅­, atoiν•¨μˆ˜λŠ” μ΄λŸ¬ν•œ strtolν•¨μˆ˜μ˜ κ²°κ³Όλ₯Ό int둜 μΊμŠ€νŒ…ν•˜μ—¬ λ°˜ν™˜ν•œλ‹€. λ”°λΌμ„œ LONG_MAXλ₯Ό λ„˜μ–΄κ°€λŠ” 값은 LONG_MAXλ₯Ό int둜 μΊμŠ€νŒ… ν•œ -1이 λ¦¬ν„΄λ˜κ³  LONG_MIN을 λ„˜μ–΄κ°€λŠ” 값은 LONG_MIN을 int둜 μΊμŠ€νŒ…ν•œ 0값이 λ¦¬ν„΄λ˜λŠ” 것이닀