다음을 통해 공유


CStringT::CStringT

CStringT 개체를 생성합니다.

CStringT( ) throw() : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

explicit CStringT(
   IAtlStringMgr* pStringMgr
) throw() : 
   CThisSimpleString(
      pStringMgr
   );

CStringT(
   const VARIANT& varSrc
);

CStringT(
   const VARIANT& varSrc,
   IAtlStringMgr* pStringMgr
);

CStringT( 
  const CStringT& strSrc
) : 
   CThisSimpleString( 
      strSrc
   );

operator CSimpleStringT<
   BaseType,
   !_CSTRING_IMPL_::_MFCDLLTraitsCheck<
      BaseType,
      StringTraits
   >::   c_bIsMFCDLLTraits 
> &()

template <
   bool bMFCDLL
>
CStringT(
   const CSimpleStringT<
      BaseType,
      bMFCDLL
   > & strSrc
) : 
   CThisSimpleString(
      strSrc
);

template <
   class SystemString
>
CStringT(
   SystemString^ pString
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   const YCHAR* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   LPCSTR pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

CStringT(
   LPCWSTR pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
);

CSTRING_EXPLICIT CStringT(
   const unsigned char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

/*CSTRING_EXPLICIT*/ CStringT(
   char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   unsigned char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   wchar_t* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const unsigned char* pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

CSTRING_EXPLICIT CStringT(
   char ch,
   int nLength = 1
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   wchar_t ch,
   int nLength = 1
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pch,
   int nLength
) : 
   CThisSimpleString(
      pch,
      nLength,
      StringTraits::GetDefaultManager()
   );

CStringT(
   const YCHAR* pch,
   int nLength
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pch,
   int nLength,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pch,
      nLength,
      pStringMgr
);

CStringT(
   const YCHAR* pch,
   int nLength,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

매개 변수

  • pch
    길이의 문자 배열에 대 한 포인터 nLength, null 종결 되지 않았습니다.

  • nLength
    문자 개수 pch.

  • ch
    단일 문자입니다.

  • pszSrc
    이것을 복사 하는 null로 끝나는 문자열 CStringT 개체입니다.

  • pStringMgr
    메모리 관리자에 대 한 포인터는 CStringT 개체입니다.에 대 한 자세한 내용은 IAtlStringMgr 및 메모리 관리에 대 한 CStringT를 참조 하십시오 Cstringt에 메모리 관리.

  • strSrc
    기존에 CStringT 로 복사할 개체 CStringT 개체입니다.에 대 한 자세한 내용은 CThisStringCThisSimpleString, 설명 단원을 참조 하십시오.

  • varSrc
    Variant 개체를 복사할 수 CStringT 개체입니다.

  • BaseType
    문자 형식 문자열 클래스입니다.다음 중 하나일 수 있습니다.

    char(ANSI 문자열에 대 한).

    wchar_t(유니코드 문자열에 대 한).

    TCHAR(ANSI와 유니코드 문자열에 대 한).

  • bMFCDLL
    프로젝트가 MFC DLL (TRUE) 인지 여부를 지정 하는 부울 값 (FALSE).

  • SystemString
    해야 System::String, 및 /clr 프로젝트를 컴파일해야 합니다.

  • pString
    핸들에는 CStringT 개체입니다.

설명

생성자에 할당 된 저장소를 새 입력된 데이터를 복사 하기 때문에 알고 있어야 메모리 예외 발생할.참고 일부 이러한 생성자의 변환 기능으로 작동 합니다.이렇게 하면 대체 하려면 예를 들어, 있습니다는 LPTSTR 위치는 CStringT 개체가 필요한 곳.

  • CStringT( LPCSTRlpsz ): 유니코드 생성 CStringT 에서 ANSI 문자열입니다.이 생성자를 다음 예제와 같이 문자열 리소스가 로드 수도 있습니다.

  • CStringT( LPCWSTRlpsz): 생성 된 CStringT 에서 유니코드 문자열.

  • CStringT( const unsigned char*psz ): 생성할 수는 CStringT 에 대 한 포인터를 unsigned char.

[!참고]

정의 _CSTRING_DISABLE_NARROW_WIDE_CONVERSION 사이의 암시적 문자열 변환 기능을 해제 하려면 매크로 ANSI 및 유니코드 문자열입니다.매크로 변환 지원 컴파일 생성자에서 제외 됩니다.

참고는 strSrc 매개 변수 수 하나는 CStringT 또는 CThisSimpleString 개체.에 대 한 CStringT, 그 기본 인스턴스 중 하나를 사용 (CString, CStringA, 또는 CStringW). for CThisSimpleString, use a this pointer.CThisSimpleString인스턴스를 선언 된 CSimpleStringT 클래스, 작은 문자열 클래스 보다 기본 제공 기능이 있는 CStringT 클래스.

오버 로드 연산자 CSimpleStringT<>&() 생성 한 CStringT 에서 개체는 CSimpleStringT 선언.

[!참고]

만들 수 있지만 CStringT 인스턴스가 포함 된 null 문자 포함에 대해 권장 합니다.호출 메서드 및 연산자에서 CStringT 포함 된 null 문자를 포함 하는 개체는 의도 하지 않은 결과 생성할 수 있습니다.

예제

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s1;                    // Empty string
CAtlString s2(_T("cat"));           // From a C string literal
CAtlString s3 = s2;               // Copy constructor
CAtlString s4(s2 + _T(" ") + s3);   // From a string expression

CAtlString s5(_T('x'));             // s5 = "x"
CAtlString s6(_T('x'), 6);          // s6 = "xxxxxx"

CAtlString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"

VARIANT var;
V_VT(&var) = VT_BSTR;
V_BSTR(&var) = ::SysAllocString(L"Football is a fun sport.");
CAtlString s8(var); // s8 = "Football is a fun sport."

// The following statement does not call the assignment operator.
// The compiler considers the following statement equivalent to
// CAtlString city("Paris")
CAtlString city = _T("Paris");   

요구 사항

헤더: cstringt.h

참고 항목

참조

CStringT 클래스

CSimpleStringT 클래스