交换 MFC CString 是指在 C++ 中,将两个 CString 对象的值进行交换。以下是几种交换 CString 的方法:
方法1:使用 CString 的 Swap() 方法
CString str1 = _T("Hello");
CString str2 = _T("World");
str1.Swap(str2);
方法2:使用 CString 的 GetBuffer() 和 ReleaseBuffer() 方法
CString str1 = _T("Hello");
CString str2 = _T("World");
// 交换 str1 和 str2 的值
str1.GetBuffer(str2.GetLength());
str2.GetBuffer(str1.GetLength());
str1.ReleaseBuffer();
str2.ReleaseBuffer();
方法3:使用 CString 的 GetBuffer() 和 SetAt() 方法
CString str1 = _T("Hello");
CString str2 = _T("World");
// 交换 str1 和 str2 的值
LPTSTR psz1 = str1.GetBuffer(str2.GetLength());
LPTSTR psz2 = str2.GetBuffer(str1.GetLength());
for (int i = 0; i < str2.GetLength(); i++) {
str1.SetAt(i, psz2[i]);
}
for (int i = 0; i < str1.GetLength(); i++) {
str2.SetAt(i, psz1[i]);
}
str1.ReleaseBuffer();
str2.ReleaseBuffer();
方法4:使用 CString 的 GetBuffer() 和 Reverse() 方法
CString str1 = _T("Hello");
CString str2 = _T("World");
// 交换 str1 和 str2 的值
LPTSTR psz1 = str1.GetBuffer(str2.GetLength());
LPTSTR psz2 = str2.GetBuffer(str1.GetLength());
str1.Reverse();
str2.Reverse();
str1.ReleaseBuffer();
str2.ReleaseBuffer();
以上是几种交换 CString 的方法,可以根据实际情况选择合适的方法进行交换。
领取专属 10元无门槛券
手把手带您无忧上云