2010-08-11 3 views
-2

파일에 개체를 작성했지만 파일에서 개체를 읽을 때 올바른 값을 얻지 못하고 있습니다. 1 개체가 1 레코드로 간주되고 파일에 레코드가 하나만 있으면 값을 얻게됩니다. 더 많은 레코드 (동일한 유형의 많은 오브젝트)를 작성하면 값을 얻지 못합니다.C++에서 파일 작업

+8

코드가 도움이보기. – sje397

+0

어쩌면 파일을 여러 번 열려고 시도 할 수 없습니다. 파일을 열면 이득을 열기 전에 닫아야합니다. –

+1

http://www.cplusplus.com/doc/tutorial/files/. 읽고 생각해보십시오. – DumbCoder

답변

1

두 가지 문제가있을 수 있습니다. 내 머리의 맨 위에는 위의 설명에 나와있는 것처럼 파일과의 인터페이스 방식에 문제가있을 수 있습니다. 또는 직렬화 문제 일 수 있습니다.

나는 최근에 연속적인 메모리가 보장되지 않았기 때문에 파일에 클래스를 쓸 수 없다는 사실을 최근에 배웠다. (다른 이유들도 있지만, 내가 취한 도덕적 인 것은 그것을하지 않았다.)

대신 파일에 쓰기 전에 개체/클래스를 직렬화해야합니다.

나는이 유용 발견 웹 자원의 몇

은 다음과 같습니다

http://functionx.com/cpp/articles/serialization.htm (나는이 일을 많이 좋아했다).

http://functionx.com/cpp/articles/serialization.htm

Is it possible to serialize and deserialize a class in C++?