내가 예전에도 이 얘기를 여러번 한 것 같은데
C 표준은 C가 돌아가는 charset에서 0부터 9까지의 숫자가 연속일 것은 보장하지만 A-Z나 a-z의 range가 연속일 것은 보장하지 않는다
(EBCDIC로 대표되는 몇몇 좆같은 charset들 때문)
따라서 ch >= 'a' && ch <= 'z'라든가, ch - 'a' + 1 따위의 코드는 이식성이 없음
하지만 ch >= '0' && ch <= '9'라든가, ch - '0'은 언제나 의도한 대로 동작한다는 보장이 있지
어쨌든 문자열 "abcdefghijklmnopqrstuvwxyz"와 strchr을 쓰는 게 좋은 코드라고 할 수 있다
사실 ch - 'a' + 1은 잘못된 코드임
밍고스사랑해(mingosudaisuki)
2016-06-21 03:07
추천 0
댓글 7
다른 게시글
-
예전에는 rfc보면서 converter 만들었었는데..☎2.73™(roidz) | 16.06.21추천 0
-
폴리좆 2학년 컴공입니다 조언 부탁드립니다 [4]익명(211.222) | 16.06.21추천 0
-
머리가 요즘 녹슬어가는 것 같아서 리마인드.☎2.73™(roidz) | 16.06.21추천 0
-
float 유효자리수 ?? [18]아긔발(asceta) | 16.06.21추천 0
-
릴리즈일때 코드최적화 신기하네 [12]급식(221.157) | 16.06.21추천 0
-
VBA 관련해서 하나 물어보면 답이 나올까 ? [4]☎2.73™(roidz) | 16.06.21추천 0
-
리듬 맞춤법 봇 진짜 봇이에요? [3]123(121.160) | 16.06.21추천 0
-
밑에 소름주의 작성잔데, 저거 3초안에 생각못한놈은 프로그래밍 접어라 [10]ddd(58.142) | 16.06.21추천 0
-
이번 주말에도 고기 먹으러 감~ [2]☎2.73™(roidz) | 16.06.21추천 0
-
coercion 이 정확히먼개념임?체브리아도..(chebriados) | 16.06.21추천 0
모두 숨어 표준덕후가 떴으니
a-z A-Z가 연속되지 않는다니 ;; aAbB 이딴식으로 넣은건가
https://ko.wikipedia.org/wiki/확장_이진화_십진법_교환_부호
그런 좆같은 경우도 있구나
참 진짜 좆같네요 - dc App
근데 저런쪽 이식성을고려하거나 할만큼의 일이없을거같아서... 가독성이나 편리함을생각하면 걍 계속 'a' 'z'식으로 쓸듯 - dc App
그렇구나