로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
입문

모두를 위한 컴퓨터 과학 (CS50 2019)

임시 이미지 David J. Malan (데이비드 J. 말란)
http://www.boostcourse.org/cs112/forum/29842
좋아요 15514 수강생 34440

http://forensic-proof.com/archives/300 

여기서 png의 파일시그니쳐는  89 50 4E 47 0D 0A 1A 0A라고 나와있어, 

아래와 같이 프로그램을 실행해봤는데 if(bytes[0]==0x89.....) 이 부분에서 if문 조건 뒤에 세미콜론을 붙이라고만 나오네요;; 대체 왜 실행이 안되는 건가요?

# include <stdio.h>

int main(int argc, char *argv[])
{
if(argc!=2)
{

return 1;

}

FILE *file = fopen(argv[1],"r");

if (file == NULL)
{
return 1;
}

unsigned char bytes[8];
fread(bytes,8,1,file); 

if(bytes[0]==0x89 && bytes[1]==0x50 && bytes[2]==0x4E && bytes[3]==0x47 && bytes[4]==0x0D && bytes[5]==0x0A) && bytes[6]==0x1A && bytes[7]==0x0A)
{
printf("Maybe\n");
}
else
{
printf("No\n");
}
fclose(file);
}