파일 입출력에 대해서요.
세이
질문 제목 : 질문 내용 : 제가 바이너리로 파일을 하나 생성하는데, 쓸 때는 잘 써지는데 읽을 때가 좀 다르네요.
파일을 생성할 때 char date[100]을 해서 int형으로 바꿔서 10과 20을 넣어요. 그리고 그것을 다시 읽어들이는데,
문제는 10과 0으로 읽혀요. 10, 20을 넣었으니 읽을 때도 10, 20이 나와야 할텐데 안 그래서 이유를 모르겠어요.
int _tmain(int argc, _tchar* argv[])
{
file *f=fopen(r:\\map1.dat, wb);
char date[100] = {0, };
//형변환을 해서 10과 20을 집어 넣고, 입력이 잘 됐는지 출력을 합니다.
*(int*)date = 10;
*(int*)((char*)date+4) = 20;
int aa = *((int*)date);
int bb = *((int*)(date+4));
printf(%d, %d\n, aa, bb);
fprintf(f, date);
fclose(f);
//여기서 다시 읽어요.
file* ff=fopen(r:\\map1.dat, rb);
char message[100] = {0,};
fgets(message, 100, ff);
int a = *((int*)message);
int b = *((int*)(message+4));
printf(%d, %d\n, a, b);
fclose(ff);
return 0;
}