我弄了一个列表框在里面显示出所有的磁盘。。但是对最后一个ds+=_tcslen(ds)+1不解。。 HWND hList = GetDlgItem(hDlg,IDC_Drives);
int len = GetLogicalDriveStrings(0,NULL);//获取所有磁盘的长度
TCHAR* ds = new TCHAR[len];//高手帮我解释一下这里为什么要用new 这个 是数组吗?还有我没学过C语言哦。。直接就VC了。
GetLogicalDriveStrings(len,ds);
for(int i=0;i<len/4;++i)
{
ComboBox_AddString(hList,ds);
ds+=_tcslen(ds)+1;//_tcslen不是返回字符串长度吗?本来只能显示C:\怎么加1他就能显示D:\ F:\ E:\
}
int len = GetLogicalDriveStrings(0,NULL);//获取所有磁盘的长度
TCHAR* ds = new TCHAR[len];//高手帮我解释一下这里为什么要用new 这个 是数组吗?还有我没学过C语言哦。。直接就VC了。
GetLogicalDriveStrings(len,ds);
for(int i=0;i<len/4;++i)
{
ComboBox_AddString(hList,ds);
ds+=_tcslen(ds)+1;//_tcslen不是返回字符串长度吗?本来只能显示C:\怎么加1他就能显示D:\ F:\ E:\
}
ds+=_tcslen(ds)+1;//ds是指针_tcslen(ds)得到指针长度然后+1,可为什么指针能和数字相加?
然后输出 ds里的长度也就是ds+=_tcslen(ds)+1就能到下一个盘了。。看来我要去学一下指针了