두 개의 정수를 문자열에 연결 한 다음 문자열을 문자 단위로 읽고 16 진수로 인쇄 할 때 해당 숫자의 16 진수 값은 다음과 같습니다. 숫자 자체.C++에서 16 진수 값 변환 문자열
예 :
내가 두 숫자, 6, 8, 문자열 "야후"를 갖고 있다고 할 수 있습니다.
첫 번째 단계에서는 나는 하나의 문자열 "6yahoo8"을
snprintf()
을 사용하여 연결합니다. 다음 단계에서- , 난은 16 진수 값 밖으로 문자 인쇄 의한 캐릭터 문자 나 최종 결과를 얻으려는
읽기 등 :
{이 0x06, 0x79,이 0x61, 0x68 , 0x6F, 0x6F, 0x08}.
하지만 내 프로그램이 결과를 인쇄 :
{0x36, 0x79,이 0x61, 0x68, 0x6F, 0x6F, 0x38로}.
이 결과는 첫 번째 및 마지막 바이트를 제외하고 올바른 것입니다. 아이디어를 얻는 방법을 알고 싶습니다. 조언을 대단히 감사드립니다.
내가 문자열을 형성하기 위해 사용하고있는 프로그램 :
string encode_url() { StringAccum sa; string url; const char *str = "yahoo"; int p = 6; int q = 8; sa.snprintf(1,"%x", p); // snprintf(len, format, value); sa << str.c_str(); sa.snprintf(1, "%x", q); url = string(sa.take_string().c_str()); return url; }
우리는 기본적으로 C에서 문자열 배터리입니다 StringAccum처럼 사용하는 일부 관습 기능이 있습니다 ++.
"C/C++"는 사용을 중지하십시오. –
@NickyC 나는 더 나은 버전의 같은 : P –
문자열에 숫자를 넣을 때 문자가되며 '6'에 대한 ASCII 코드는 36입니다. – Photon