[완료] [C 언어] 파일 read write
글쓴이: vimania / 작성시간: 월, 2008/11/17 - 3:05오후
c 언어에서 file의 일정한 공간에 int값을 저장했다가 나중에 읽어오려고 하는데 이런 기능을 하는 라이브러리가 있나요?
제가 구현하고 싶은 것은 파일이 시작되는 부분부터 int 사이즈 만큼 (32bit)의 공간에 int 값을 저장하고 싶습니다. int 값이 1이 될수도 있고 100000 이 될 수도 있는거죠. 그리고 그 다음 16bit 공간에는 short 값을 저장하고요. 이런 방식으로 저장을 한 다음에...
나중에 언제든지 파일 시작하는부분 부터 32bit 만큼을 읽어오면 저장된 값을 알 수 있게 만들고 싶습니다.
char array 를 이용해서 fwrite함수로 file에 저장해 보니까 10000일 경우 파일에 5자리를 차지하고 1인경우 1자리를 차지하던데 이런경우 자리수가 일정하지 않아서 나중에 읽어 오기가 불가능하더라구요.
이런 기능을 하는 함수가 있나요?
file에 저장하고 그값을 불어와서 int 변수에 저장하는 방법 좀 자세히 알려주세요.
Forums:
그냥 바이너리로
그냥 바이너리로 열어서 저장하면 바이너리형태로 저장되지 않나요..?
아니면 byte단위로 짤라서 byte로 저장한다음에 byte로 읽어서 재조립해서 int로 사용하시는방법도 있습니다...
binary mode를 사용해서
binary mode를 사용해서 r/w를 하세요. ^^;
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
번개같은 답글
번개같은 답글 감사드립니다.
fopen 할때 r+b 모드로 하라는 말씀 이신가요?
그렇다면 int a = 3 이라면 바이너리로 0...0000000000011 (32자리) 일텐데 이걸 어떤 식으로 파일에 저장하면 되나요?
책을 찾아보니까
책을 찾아보니까
이라고 나와있는데
여기서 *ptr 를
int * ptr; 로 선언하고
ptr = a; 한다음에
fwrite (ptr, sizeof(int), 1, fp);
라고 하면 binary로 들어가는 건가요?
#include int
:)
저는 fwrite 또는 fread
저는 fwrite 또는 fread 의 첫번째 argument가 항상 array여야만 하는줄 알았습니다.
&a 이런식으로도 들어갈 수 있군요.
좋은 답변 감사합니다.
댓글 달기