문자열과 문자열의 아스키코드값은 어떻게 비교할 수 있을까요?
글쓴이: 이명수 / 작성시간: 목, 2010/08/26 - 10:10오전
char str[4] = "ABC"; int hex = 0x414243;
문자열 ABC는 str 배열에 각각의 인덱스에 [41][42][43][\0]이 저장되어 있습니다
이 값과 0x414243이 같은지 확인하여 같다고 출력하려고 합니다 어떻게 비교할 수 있을까요?
문자열의 각각의 아스키코드값과 int형 변수의 각각의 자릿수에 대한 16진수값을 비교해야 합니다
문자열을 정수형으로 바꾸거나 정수형을 문자열로 바꿀 필요가 있을 거 같은데
코드는 가능하다면 최대한 간단했으면 좋겠습니다
가령 "IJK"와 0x494A4B는 같고
"IJK와 0x494A00은 다르다고 출력하고 싶습니다
Forums:
간단하지 않은 코드의 예시
little endian에서만 제대로 동작할 것 같지만요...
간단한 코드의 예시
항상 세글자라는 전제하에. (더 긴경우 응용하시길)
if(str[0] != (hex & 0xff0000) || str[1] != (hex & 0xff00) || str[2] != (hex & 0xff) )
return false;
return true;
나름 간단한? 코드 예시
endian 에 관계없이 동작할 듯...
나름 더러운? 코드
나름 더러운? 코드 예시
OTL
댓글 달기