A가 내 앞의 질문 (Reading an entire file in binary mode using C++)는 읽기와 이진 모드에서 JPG 파일을 읽은 후 C++
후속를 사용하여 바이너리 모드에서 전체 파일을 인쇄, 읽기 작업의 결과는 항상 4 바이트입니다. 코드는 다음과 같습니다.
FILE *fd = fopen("c:\\Temp\\img.jpg", "rb");
if(fd == NULL) {
cerr << "Error opening file\n";
return;
}
fseek(fd, 0, SEEK_END);
long fileSize = ftell(fd);
int *stream = (int *)malloc(fileSize);
fseek(fd, 0, SEEK_SET);
int bytes_read = fread(stream, fileSize, 1, fd);
printf("%x\n", *stream);
fclose(fd);
두 번째 마지막 printf 문은 항상 전체 파일 내용이 아닌 처음 4 바이트를 인쇄합니다. jpg 파일의 전체 내용을 인쇄하려면 어떻게해야합니까?
감사합니다.
이것은 C++이 아닙니다. – Chad
어떻게 포맷 하시겠습니까? 당신은'printf'에 16 진수로 하나의 정수를 표시하도록 요청했습니다. 'for' 루프에서 그렇게 할 수는 있지만 읽을 수는 없으므로 출력은 어떻게됩니까? – Useless
음, 난 단지 16 진수로 파일의 전체 내용을 덤프하고 싶습니다 ... – pokiman