VC++6.0里,CString类如何和字符串相互转换?CString有重载操作符吗?
展开全部
CString::operator
LPCTSTR
operator LPCTSTR ( ) const;
Return Value
A character pointer to the string’s data.
Remarks
This useful casting operator provides an efficient method to access the
null-terminated C string contained in a CString object. No characters are
copied; only a pointer is returned. Be careful with this operator. If you change
a CString object after you have obtained the character pointer, you may
cause a reallocation of memory that invalidates the pointer.
Example
The following example demonstrates the use of CString::operator
LPCSTR.
// If the prototype of a function is known to the compiler,
// the LPCTSTR cast operator may be invoked implicitly
CString strSports(_T("Hockey is Best!"));
TCHAR sz[1024];
lstrcpy(sz, strSports);
// If the prototype isn't known, or is a va_arg prototype,
// you must invoke the cast operator explicitly. For example,
// the va_arg part of a call to sprintf() needs the cast:
sprintf(sz, "I think that %s!\n", (LPCTSTR) strSports);
// while the format parameter is known to be an LPCTSTR and
// therefore doesn't need the cast:
sprintf(sz, strSports);
// Note that some situations are ambiguous. This line will
// put the address of the strSports object to stdout:
cout << strSports;
// while this line will put the content of the string out:
cout << (LPCTSTR) strSports;
LPCTSTR
operator LPCTSTR ( ) const;
Return Value
A character pointer to the string’s data.
Remarks
This useful casting operator provides an efficient method to access the
null-terminated C string contained in a CString object. No characters are
copied; only a pointer is returned. Be careful with this operator. If you change
a CString object after you have obtained the character pointer, you may
cause a reallocation of memory that invalidates the pointer.
Example
The following example demonstrates the use of CString::operator
LPCSTR.
// If the prototype of a function is known to the compiler,
// the LPCTSTR cast operator may be invoked implicitly
CString strSports(_T("Hockey is Best!"));
TCHAR sz[1024];
lstrcpy(sz, strSports);
// If the prototype isn't known, or is a va_arg prototype,
// you must invoke the cast operator explicitly. For example,
// the va_arg part of a call to sprintf() needs the cast:
sprintf(sz, "I think that %s!\n", (LPCTSTR) strSports);
// while the format parameter is known to be an LPCTSTR and
// therefore doesn't need the cast:
sprintf(sz, strSports);
// Note that some situations are ambiguous. This line will
// put the address of the strSports object to stdout:
cout << strSports;
// while this line will put the content of the string out:
cout << (LPCTSTR) strSports;
追问
说中文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询