这个程序是如何退出循环的?
DWORD size;
size=::GetLogicalDriveStrings(0,NULL);
if(size!=0)
{
HANDLE heap=::GetProcessHeap();
LPSTR lp=(LPSTR)HeapAlloc(heap,HEAP_ZERO_MEMORY,size*sizeof(TCHAR));
::GetLogicalDriveStrings(size*sizeof(TCHAR),lp);
int i=0;
while(*lp!=0)
{
m_disklist.InsertItem(i,lp,0);
m_space.AddString(lp);
lp=_tcschr(lp,0)+1;
i++;
}
}
lp为什么到了72的时候自动成了"0"?
还有就是"LPSTR lp=(LPSTR)HeapAlloc(heap,HEAP_ZERO_MEMORY,size*sizeof(TCHAR));"取出来后,为什么成了"C:\"
?