0
TCHAR* pszBackupPath;
m_Edt_ExportPath.GetWindowText(pszBackupPath, dwcchBackupPath);
StrTrim(pszBackupPath, L" ");
StrTrim(pszBackupPath, L"\\"); //this line has issue
iRet = _tcslen(pszBackupPath);
boRet = PathIsNetworkPath(pszBackupPath);
if (FALSE == boRet)
{
// MessageBox with string "Entered path is network path.
}
boRet = PathIsDirectory(pszBackupPath);
if (FALSE == boRet)
{
// MessageBox with string "Entered path is not a valid directory.
}
이것은 MFC의 코드 일부입니다. UI에서 네트워크 경로를 전달 중입니다. 그러나 StrTrim (pszBackupPath, L "\\") "\\"때문에 시작과 끝에서 다듬어 져야합니다. 그러나 나는 그것을 단지 끝에서 다듬기를 원한다. 직접 API를 알지 못합니다. 제발 제안 해주세요.내 TCHAR *을 끝내기를 원합니다
어디에서'pszBackupPath'를 초기화합니까? 코드는 포인터를 선언하고이 초기화되지 않은 포인터를'GetWindowText'에 전달합니다. 그것은 작동하지 않을 것이고 코드가 손상되지 않은 것에 놀랍니다. 'TCHAR *'은 문자열이 아닙니다. 이것은 단일 포인터이며, 무엇인가를하기 전에 먼저 버퍼를 가리켜 야합니다. – PaulMcKenzie