-32767 ~ 32767 범위의 이진 파일을 읽는 프로그램을 만들어야합니다. 지금까지 스크립트는 이진 파일을 -128 바이너리 파일에 대한 127-32767 ~ 32767의 정수 범위로 이진 파일 읽기
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp = NULL;
signed char shint[2000] = "";
int i = 0;
size_t bytes = 0;
if ((fp = fopen("raw_data.ht3", "rb")) == NULL) {
printf ("could not open file\n");
return 0;
}
if ((bytes = fread(&shint, 1, 2000, fp)) > 0) { //bytes more than 0
for (i = 0; i < bytes; i++) {
printf ("%d\n", shint[i]);
}
}
fclose(fp);
return 0;
}
더 많은 정보에, 내 강사 (내 표현이 바로 여기입니다 확실하지 않다) 바이너리 파일이 4 바이트 데이터로 읽어야했다. 데이터가 매우 커서 2000 데이터까지 데이터 읽기를 중단합니다. 미래에는 모든 것을 읽을 필요가 있습니다.
이 내가 하루의 끝에 플롯하는 방법입니다. 원하는 데이터를 얻은 후에 matlab이나 scilab을 호출 할 것입니다.
감사합니다.
당신은 아마 중 2을 읽을 수 INTS 또는 한 번에 4 바이트. (당신의 질문 제목은 2 바이트를 제안합니다, 당신의 강사는 4 개를 말했습니다). 아마도'fread'를 사용할 수 있습니다. (바이트 스와핑은 이론적으로 문제이지만이 연습에서는 무시할 수 있습니다.) –
한 번에 2 바이트 또는 4 바이트를 읽으려면 어떻게해야합니까? – fizsics
귀하의 질문에 짧은 [] 배열이 필요합니다. 선생님이 int 배열을 원한다고하셨습니다. –