string a; or char a[100];
cin >> a;
a에 "안녕"을 입력했다고 하고
a에 입력된 정보를 16진수로 변환하여 저장하고 이용하려고 합니다.
입력 받은 문자열을 16진수로 변환해 저장하는 방법과
16진수로 변환해 저장한다고 하면 어떤 변수형에 저장해야할지 궁금합니다.
아시는 분 계시면 답변부탁드립니다ㅠㅠ
string a; or char a[100];
cin >> a;
a에 "안녕"을 입력했다고 하고
a에 입력된 정보를 16진수로 변환하여 저장하고 이용하려고 합니다.
입력 받은 문자열을 16진수로 변환해 저장하는 방법과
16진수로 변환해 저장한다고 하면 어떤 변수형에 저장해야할지 궁금합니다.
아시는 분 계시면 답변부탁드립니다ㅠㅠ
총 몇자린데요?
입력받는 문자열 말하시는 건가요?? 그거라면 계속 바뀌어서 최대 받을 수 있는 문자열 크기를 100으로 해뒀습니다.
a자체가 숫자입니다만.
a라는 이름으로 string이나 char 변수형을 만든거예요!
거기 저장되든 값은 다 슛자잖아요
컴퓨터에 저장될 때 숫자로 저장된다는 말을 하고 계신건가요? 그걸 몰라서 하는 말은 아니거든요. 다른 생각이시면 좀 더 설명해주시겠어요?
그럼 귣이 16진수로 변환할 필요가 없다는걸 알텐데 질문 의도가 뭐임?? 문자열을 16진수 숫자형태의 문자열로 바꾸겠다는 거임? 그게 아니리면 바꾸고 자시고 할 거 없는데
내용이 16진수로 구성된 파일에 내용을 읽어와서 검색에 이용하려고 합니다.
검색어를 입력받아서 같은 16진수로 변환해 같은 문자열을 찾으려고하고요.
16진수로 구성된 파일이란건 파일 내용이 16진수 형태의 문자열이란 말이냐 아니면 그냥 파일의 hex값을 말하는 거냐
파일 내용이 16진수로 입력되어 있습니다.
그럼 결국 하려는게 입력받은 문자열을 16진수형태의 또다른 문자열로 변환하고 싶은거네??
제가 설명이 부족했던 거 같은데 그게 맞는 거 같아요!
캐릭터 하나씩 읽어. 예를들어 c가 그 캐릭터를 담은 변수라면 각 자리수(digit0~3 : char)는 아래와 같지 digit0 = (c & 0x000F) digit1 = (c & 0x00F0) >> 4 digit2 = (c & 0x0F00) >> 8 digit3 = (c & 0xF000) >> 12 각 digit은 0~15 의 값을 가지니까
그 숫자를 16진수 문자로 변환하기 위핸 lookup table을 만들어 그래서 char c0 = lookup[digit0] 이렇게 c0 ~ c3까지 만든다음 c3c2c1c0 4개를 concat해주셈
구현방법이야 아거 말고도 존나게 많으니 그냥 아이디어를 얻을 정도로 참고만하고 직접구현해봐
sprintf_s랑 "%2A" 쓰면 되겠네요 ㅎㅎ
자기가 다른 사람과 다른 의미로 개념을 사용하고 있다는걸 깨우치지 못하는 이상 도와줄 방법이 없음