Parsing MFC,解析ftp响应文件列表行的任何解决方案

Parsing MFC,解析ftp响应文件列表行的任何解决方案,parsing,mfc,ftp,Parsing,Mfc,Ftp,有任何库解决方案可以解析为以下文件列表字符串 0x001d8f60 "-rw------- 1 root root 000000000 Jun 30 2014 YS_LIANG drw------- 1 root root 000000000 Jun 30 2014 2014-05-08 [][][] - [][][][] drw------- 1 root root 000000000 Jun 30 2014 FTPClient-Wi

有任何库解决方案可以解析为以下文件列表字符串

0x001d8f60 "-rw-------   1 root     root     000000000 Jun 30 2014 YS_LIANG
drw-------   1 root     root     000000000 Jun 30 2014 2014-05-08 [][][] - [][][][]
drw-------   1 root     root     000000000 Jun 30 2014 FTPClient-WinCE
drw-------   1 root     root     000000000 Jun 30 2014 GRAPHIC
drw-------   1 root     root     000000000 Jun 30 2014 S8521 V1.6.17
drw-------   1 root     root     000000000 Jun 30 2014 S8521V1.7.0
drw-------   1 root     root     000000000 Jun 30 2014 Storage Card2
drw-------   1 root     root     000000000 Jun 30 2014 UltraEdit 18.20.0.1021
drw-------   1 root     root     000000000 Jun 30 2014 usb wireless driver
drw-------   1 root     root     000000000 Jun 30 2014 Windows7 ActiveSync
-rw-------   1 root     root     101384240 Jun 28 2013 avira_free_antivirus_zhtw.exe
-rw-------   1 root     root     000564736 Jun 21 2011 ComTest.exe
-rw-------   1 root     root     000000189 Feb 10 2014 ComTest.INI
-rw-------   1 root     root     006465536 May 5 2014 DR12AsyncSocket.exe
-r"

谢谢

好的,我找到了解决办法

while(true)
{
nNewLineIdx = strRespFileList.Find(_T("\r\n"));
if(nNewLineIdx == -1)
{
    break;
} 
    // TODO : Save in CStringArray
}

// Parse CString line of CStringArray
for(int loop=0; loop<CStringArray.GetCount();loop++)
{
int strLineLen = CStringArray.GetAt(loop).GetLength();
int nSerchLoc = 0;
int nStep = 0;
while(nSerchLoc < strLineLen)
{
    CString strTok = CStringArray.GetAt(loop).Tokenize(_T(" "), nSerchLoc);
    // TODO : Save cut information
}
}

如果文件夹名称中包含空格,则只需拆分空格上的每一行。。。解决这个问题的办法也许并不难。前8个元素从不包含空格,或者用户名可以包含空格吗?。文件夹名或文件名是唯一可以包含空格的元素。因此,前8个元素是年的权限,其余的必须是文件名或目录名。