请问这段是什么意思啊?
//函数功能:获取驱动器
void CTreeViewDlg::GetLogicalDrives(HTREEITEM hParent)
{
size_t szAllDriveStrings = GetLogicalDriveStrings(0,NULL);//驱动器所需空间
char *pDriveStrings = new char[szAllDriveStrings + sizeof(_T(""))];//特别是这句话,本人是新手,请大家多帮帮忙,谢谢了!!!!
GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings);
size_t szDriveString = strlen(pDriveStrings);
while(szDriveString > 0)//"C:\<NULL>D:\<NULL>E:\<NULL><NULL>"
{
m_tree.InsertItem(pDriveStrings,hParent);
pDriveStrings += szDriveString +1;//特别是这句话,本人是新手,请大家多帮帮忙,谢谢了!!!!
szDriveString = strlen(pDriveStrings);
}
}
//函数功能:获取驱动器
void CTreeViewDlg::GetLogicalDrives(HTREEITEM hParent)
{
size_t szAllDriveStrings = GetLogicalDriveStrings(0,NULL);//驱动器所需空间
char *pDriveStrings = new char[szAllDriveStrings + sizeof(_T(""))];//特别是这句话,本人是新手,请大家多帮帮忙,谢谢了!!!!
GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings);
size_t szDriveString = strlen(pDriveStrings);
while(szDriveString > 0)//"C:\<NULL>D:\<NULL>E:\<NULL><NULL>"
{
m_tree.InsertItem(pDriveStrings,hParent);
pDriveStrings += szDriveString +1;//特别是这句话,本人是新手,请大家多帮帮忙,谢谢了!!!!
szDriveString = strlen(pDriveStrings);
}
}
解决方案 »
- 求助,出现错误“非静态成员引用必须与特定对象相对”。
- CAtlRegExp正则如何获取所有匹配字串
- 求 vc Comment Wizard 插件。
- 更改画笔颜色的问题
- 关于程序关闭和重启机器
- 找VC群 本人是初级想同各高手学习交流 请加我,我的QQ:94170464
- 如何做一个“请稍候,正在传送”的对话框???在线等待!!
- (高分求教)dbgrid 出现一个问题,请指教
- 窗口无响应的问题
- 假设在一个应用中有三个类:1,2,3:在类1中定义了类3的对象asd,在类2中也定义了类3的对象asd,那么在类1中给asd.asd=12345;那么,如果在类2中qwe=asd.asd;请问:qwe=??? 请各位高手指教!!!!
- 如何将收到的数据存在txt文件中不是乱码,而是十六进制的形式
- 有关CString的简单问题
我知道这两句话的整体作用,但是我不知道的是这两句话中的细节问题,即:
char *pDriveStrings = new char[szAllDriveStrings + sizeof(_T(""));
这句话中,为什么在分配内存大小的时候要加上sizeof(_T(""))啊?它的作用是什么呢,直接分配szAllDriveStrings 不就可以了吗?
pDriveStrings += szDriveString +1;//特别是这句话,本人是新手,请大家多帮帮忙,谢谢了!!!! 这句话的指针移动过程我不是很明白,也就是szDriveString +1即跨过NULL,然后到达下一个盘符所到的位置,然后加上这么大的偏移量,然后将此时的字串中的值前移,覆盖掉前一个的盘符,是这样的吗?谢谢大家了,本人是新手,所以可能问的比较肤浅,但是还是请大家帮帮忙,谢谢!