다음을 통해 공유


Carchive를 사용 하 여 << 및 >> 연산자

CArchive제공 << 및 >> 쓰고 읽기는 단순 데이터 형식의 연산자는 물론 CObject파일에서 s.

개체를 통해 아카이브 파일에 저장할 수

  • 다음 예제에서는 개체를 통해 아카이브 파일에 저장 하는 방법을 보여 줍니다.

    CArchive ar(&theFile, CArchive::store);
    WORD wEmployeeID = 78;
    ar << wEmployeeID;
    

파일에 이전에 저장 된 값에서 개체를 로드 하려면

  • 다음 예제에서는 파일에서 이전에 저장 된 값에서 개체를 로드 하는 방법을 보여 줍니다.

    CArchive ar(&theFile, CArchive::load);
    WORD wEmployeeID;
    ar >> wEmployeeID;
    

일반적으로 저장 하 고 아카이브를 통해 파일에서 데이터를 로드할의 Serialize 기능을 CObject-으로 선언 해야 하는 클래스를 파생의 DECLARE_SERIALIZE 매크로.에 대 한 참조는 CArchive 개체에 전달 되는 Serialize 함수.전화는 IsLoading 의 함수는 CArchive 개체를 결정 합니다 여부는 Serialize 함수 호출 파일에서 데이터를 로드 하거나 데이터를 파일에 저장.

Serialize 함수를 순차 가능 CObject-파생된 클래스는 일반적으로 있습니다.:

void CSerializableObj::Serialize( CArchive& archive )
{
    // call base class function first
    // base class is CObject in this case
    CObject::Serialize( archive );

    // now do the stuff for our specific class
    if( archive.IsStoring() )
   {
      // TODO:  add storing code here
   }
    else
   {
      // TODO:  add storing code here
   }
}

위의 코드 템플릿이 하나로 만드는 응용 프로그램 마법사에 대 한 동일의 Serialize 문서의 함수 (파생 된 클래스에서 CDocument).이 코드 템플릿을 저장 코드와 로드 코드 항상 다음 예제에서와 같이 나란히 있어야 하므로 검토 하기 쉬운 코드를 작성 하는 데 도움이 됩니다.

void CEmployee::Serialize( CArchive& archive )
{
    // call base class function first
    // base class is CObject in this case
    CObject::Serialize( archive );

    // now do the stuff for our specific class
    if( archive.IsStoring() )
        archive << m_strName << m_wAge;
    else
        archive >> m_strName >> m_wAge;
}

라이브러리 정의 <<>> 연산자에 대 한 CArchive 첫 번째 피연산자 데이터 형식 및 둘째 피연산자로 클래스 형식으로:

CObject*

크기 및 CSize

float

WORD

CString

포인트CPoint

DWORD

BYTE

RECTCRect

Double

LONG

CTimeCTimeSpan

Int

COleCurrency

COleVariant

COleDateTime

COleDateTimeSpan

 

[!참고]

저장 하 고 로드 CObject보관 저장소를 통해 추가 고려 사항이 필요 합니다.자세한 내용은 를 저장 하 고 로드 CObjects 아카이브를 통해.

CArchive <<>> 연산자에 대 한 참조를 반환할 항상는 CArchive 개체를 첫 번째 피연산자입니다.이 연산자를 연결 하 여 아래와 같이 있습니다.

archive << m_strName << m_wAge;

참고 항목

개념

Serialization: 개체를 Serialize합니다.