1
저는 C++에서 일반적으로 새롭고 C++에서의 파일 처리에도 관련이 있습니다.C++에서 .raw 파일 읽기
16-bit integers
이 있고 512 x 512
인 파일을 읽어야합니다. 나는 다음 코드를 사용하고이를 위해
:
는ifstream myData("myData.raw");
short value;
int i = 0;
char buf[sizeof(short)];
while (myData.read(buf,sizeof(buf)))
{
memcpy(&value, buf, sizeof(value));
cout << value << " ";
i++;
}
cout << endl << "Total count: " << i << endl;
내가 i
위해 점점 오전 값은 512 x 512
없습니다. 그래서 나는 뭔가 옳지 않다고 생각합니다.
누군가 나를 도와 줄 수 있습니까?
받고있는 값은 무엇입니까? 'ls -l myData.raw' 란 무엇입니까? –
myData.raw는 크기가 524288 (512 * 512 * 2) 일 것으로 예상되지만 파일 크기가이 크기가 아닌 것으로 의심됩니다 ... – Mine
(512 * 512 * 2 * 2) 짧은 정수는 16 비트라고 가정합니다. – doug