|
#include <iostream>
#include <fstream>
using namespace std;
fstream fs;
fs.open("test.bin",ios_base::binary | ios_base::out);
fs << (int)0x08040201;
fs.close();
fs.open("test.bin",ios_base::binary | ios_base::in);
fs.seekg(0);
int n;
fs>>n;
fs.close();
cout << endl << hex << n << endl;
권기식.별사랑 님이 쓰신 글 :
: 다음과 같이 프로그램일 작성해서 위 프로그램으로 만든 파일을 읽어봤습니다.
:
: #include <iostream>
: #include <fstream>
: using namespace std;
:
: int main(int argc, char *argv[])
: {
: ifstream infile;
: char ch[2];
:
: infile.open("endian", ios::binary);
:
: infile.read(ch, 2);
: for(int i = 0; i < 2; i++)
: cout << (int)ch[i] << endl;
:
: infile.close();
:
: return 0;
: }
:
: 한 바이트씩 읽어서 차례로 출력해주는 부분이지요..
: 혹시나 해서 for 부분을 바꿔서 eof가 나올 때까지 루프를 돌면서 get으로 한 바이트를 읽어서 출력도 해보았습니다.
:
: 결과는
: 1
: 2
: 였습니다.
: 입력한 순서와 동일하군요...
:
: 리눅스에서도 마찬가지의 결과가 나왔습니다.
:
: 그렇다면 내릴 수 있는 결론은 리눅스의 od 명령은 뭔가 다른 것이 있다는 말인가요?
:
: 점점 헤깔립니다.. ㅠ.ㅠ
:
: 속을 시원하게 뚫어주실 분???
|