CString str=_T("abc");
LPTSTR lpstr=str.GetBuffer(10);
lstrcpy(lpstr,_T("01234"));
TRACE(str);//输出01234
如果你对GetBuffer返回的指针内容修改了,那么在你在使用CString的方法之前你必须调用ReleaseBuffer
CString str=_T("abc");//长度3 LPTSTR lpstr=str.GetBuffer(10); lstrcpy(lpstr,_T("01234")); str.ReleaseBuffer(); //str+="hello"; int iLen=str.GetLength(); CString strLen; strLen.Format(_T("%d"),iLen); TRACE(str); TRACE(_T("\n")); TRACE(strLen);
输出结果:
str:01234
长度:3-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输出结果:CString str=_T("abc"); LPTSTR lpstr=str.GetBuffer(10); lstrcpy(lpstr,_T("01234")); str.ReleaseBuffer(); //str+="hello"; int iLen=str.GetLength(); CString strLen; strLen.Format(_T("%d"),iLen); TRACE(str); TRACE(_T("\n")); TRACE(strLen);
str:01234
长度:5——————————————————————————————————————————————————————————————
输出结果:CString str=_T("abc"); LPTSTR lpstr=str.GetBuffer(10); lstrcpy(lpstr,_T("01234")); //str.ReleaseBuffer(); str+="hello"; int iLen=str.GetLength(); CString strLen; strLen.Format(_T("%d"),iLen); TRACE(str); TRACE(_T("\n")); TRACE(strLen);
str:012hello
长度:8-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输出结果:CString str=_T("abc"); LPTSTR lpstr=str.GetBuffer(10); lstrcpy(lpstr,_T("01234")); str.ReleaseBuffer(); str+="hello"; int iLen=str.GetLength(); CString strLen; strLen.Format(_T("%d"),iLen); TRACE(str); TRACE(_T("\n")); TRACE(strLen);
str:01234hello
长度:10-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我只是测试了这其中一项,有什么不对的地方,欢迎指正!