그래서 청크 당 4 바이트의 이진 파일을 읽으려고합니다. 여기에 파일에 대한 hexdump를 수행하면됩니다. 출력 : 0000000 0022 0000 6261 6463 3030 3030 6261 6463 0000010 3030 3030 6261 6463 3030 3030 6261 6463 * 00000d0 3030 3030 6261 6463 3030 3030 000a 00000dd
이C에서 이진 파일을 읽은 다음 파일에서 읽은 데이터와 일치합니다.
(죄송 자리의 각 라인 사이의 라인이 없어야한다)하지만 출력을 여기에 배열로이 값을 읽을 때 내가 갖는 :
34 61000000 30646362 61303030 30646362 61303030 30646362 61303030 30646362 2283030 0 44c5bbc0 7fff 22 0 14fea515 7f68 0 0 22 0 22 0 4007b2 0 1 0 1000 0 2289010 0 44c5bbc0 7f
나는 많은 지시 사항을 온라인으로 따라 왔으며 나는 어디에서 가야할지 잘 모르겠다. 레. 주석 일부 코드가
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char** argv)
{
unsigned char buffer[1];
FILE *filePointer;
filePointer = fopen(argv[1], "rb");
//unsigned char buffer[filePointer];
int readVal = 0;
readVal = fread(buffer, sizeof(buffer), 1, filePointer);
if (readVal == 0)
{
printf("File did not read anything\n");
}
int size = buffer[0];
/*int i = 1;
for(; i < 1; i++)
{
printf("%x ", buffer[i]);
}
*/
//int size = buffer[0];
printf("%d\n", size);
unsigned int array[size];
int otherDataElements;
otherDataElements = fread(array, sizeof(buffer), size, filePointer);
if (otherDataElements == 0)
{
printf("There was nothing there!");
}
int j = 0;
for (; j < size; j++)
{
printf("%x ", array[j]);
}
return 0;
}
, 그것을 무시 : 여기
내가 사용하고 코드입니다. 감사!