2016-06-08 6 views
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 *을 끝내기를 원합니다

+0

어디에서'pszBackupPath'를 초기화합니까? 코드는 포인터를 선언하고이 초기화되지 않은 포인터를'GetWindowText'에 전달합니다. 그것은 작동하지 않을 것이고 코드가 손상되지 않은 것에 놀랍니다. 'TCHAR *'은 문자열이 아닙니다. 이것은 단일 포인터이며, 무엇인가를하기 전에 먼저 버퍼를 가리켜 야합니다. – PaulMcKenzie

답변