程序向SCF发送ls命令,系统返回内容给SYSResult,内容为:
SERVICEID FILENAME ACCESSCODE T S V USING USED UPDATETIME
4 Coordinate_Tranlate.bin 4 0 0 0 0 0 20060417092615
871 PX_TLS.bin 871 0 0 0 0 99 20060417094532
现需要将每一行的每一个字段都取出来插入到CListCtrl列表里。代码如下:
CString SYSResult;
char* pResult=(LPSTR)(LPCSTR)SYSResult;
char word[30];
int i=0,j=0,k=0;
//第一行标题不要,可以在CListCtrl初始化时设置好title
for(i=0;pResult[0]!='/n';i++)
pResult++;
pResult++;
char *pTemp=pResult;
for (i=0,j=0;;pResult++)
{
if (pResult[0]==' '||pResult[0]=='/n')
{
int len=int(pResult-pTemp);
for (k=0;k<=len;k++)
word[k]='/0';
strncpy(word,pTemp,len);
if (j==0)
{
m_ListBox.InsertItem(i,word);
j++;
}
else
m_ListBox.SetItemText(i,j++,word);
while (pResult[0]==' '||pResult[0]=='/n')
{
if (pResult[0]=='/n')
{
i++;
j=0;
}
pResult++;
}
pTemp=pResult;
}
/*if (pResult[0]=='/n')
{
int len=int(pResult-pTemp);
for (k=0;k<=len;k++)
word[k]='/0';
strncpy(word,pTemp,len);
m_ListBox.SetItemText(i,j++,word);
pTemp=pResult+1;
i++;
j=0;
}*/
if (pResult[0]=='/0')
break;
}