리눅스에서 테스트 파일을 읽을 때, 윈도우와 다르게 인식된다면, 어떻게 하시나요?

ikpil의 이미지

#include <iostream>
#include <fstream>
#include <boost/format.hpp>
 
int main( void )
{		
	std::ifstream fileopener;
	fileopener.open("./nana.txt", std::ios_base::binary );	
	wchar_t temp[256] = { 0, };
	fileopener.read( (char *)temp, 16 );
 
	std::cout << boost::format(" %d, %d, %d, %d, %d, %d, %d, %d\n") % temp[0] % temp[1] % temp[2] % temp[3] % temp[4] % temp[5] % temp[6] % temp[7];
 
	return 0;
}

바이너리로 읽는게 편하여 이렇게 읽었습니다.
그리고 포맷으로 출력 하는데요. 이것을 그대로 윈도우와 그리고, 리눅스에서 출력을 해보았습니다.
아참, 참고로 텍스트 파일은 첨부 하였습니다. 파일 포맷은 utf-16le 입니다. 앞에 BOM 있구요.

윈도우에선 다음과 같이 출력 됩니다. ( XP Pro SP3 32bit)
65279, 97, 103, 99, 100, 101, 102, 103

리눅스에선 다음과 같이 출력 됩니다. ( CentoOS 5.0 64bit )
6422271, 6488167, 6619236, 6750310, 0, 0, 0, 0

하드웨어 스펙은 동일한 인텔 코어2듀오 입니다.

이거 도데체 왜 똑같은 건데 도데체 왜 이럴까요..

File attachments: 
첨부파일 크기
Plain text icon nana.txt16바이트
ikpil의 이미지

... 64bit 였군요, 완료 했습니다. 의문점이 풀렸습니다. wchar_t 가 4바이트 였습니다.

ikpil의 이미지

그러면 이거 어떻게 문자열을 출력 할 수 있나요? 첫 리눅스 프로그래밍인데 이렇게 어려울 수가...