2013-06-02 3 views
9

: 는 주소을 감안할 때 (헥사에) 및 및 N, 어떻게 내가 주소에서 시작하는 첫번째 N 바이트를 인쇄 할 수 있습니다 int로? 빠른 Google 검색을 실행했지만 관련 정보를 찾지 못했습니다.이 작업을 수행하는 특수 기능이 있는지 또는 시스템 호출을 사용해야합니까?인쇄 바이트는 C에서

감사합니다.

+1

'const unsigned char * p = 0xdeadbeef; for (int i = 0; i

답변

7
int n=<num_of_bytes>, i =0; 
unsigned char* byte_array = address; 

while (i < n) 
{ 
    print("%02X",(unsigned)byte_array[i]); 
    i++; 
} 

또는 여기에 유래에 다른 사람들로부터 정말 좋은 중복 답변입니다 : How to visualize bytes with C/C++

+0

hexeditplus.c : 114 : 3 : 오류 : 알 수없는 형식 이름'byte ' – TheEmeritus

+0

char 및 byte - http://stackoverflow.com/questions/13819820/char-vs-byte-for-byte-arrays 당신을 위해 작은 편집 .. 그것은 컴파일되지 않았기 때문에 당신은 화가났습니다. –

+0

@DoryZidon 예, 그들은 그것을 수행하고 우리가 16 진수 편집기를 쓰기를 기대합니다 ([/ deduction_guessed_from_filename]) –

4

당신이 그 후 그 주소에 "법적"접근과 n-1 바이트를 알고 있다면 당신은 이것을 할 수 있습니다

int i; 
char *address=0x412AFB213; //your address 

for(i=0;i<n;i++) 
    printf("%d\n",*address++); 

일반적으로 (거의 항상) "합법적 인"액세스 권한이 없습니다.