有如下数据结构
struct _ObjInfo { //保存文件的信息或是函数的信息
CString Path;
UINT AllStep;
UINT RealStep;
UINT CommStep;
UINT CommPercent;
UINT BlanStep;
UINT ModCount;
};struct _CmpObjList {
UINT Type; CString Path;
CString Name;
struct _ObjInfo OldObj;
struct _ObjInfo NewObj;
UINT OldStep;
UINT AddStep;
UINT DelStep;
UINT MdfStep;
UINT ModStep;
struct _CmpObjList* NextObj;//兄弟接点
struct _CmpObjList* ChildObj;//孩子接点
struct _CmpObjList* ModuleObj;//函数信息
}
第二个结构体由一个链表穿了起来,其中链表里村的是完整的目录结构,目录下边有文件也可能有字目录,现在我能统计总的文件个数,但是我想给目录来个小计的时候老是出现问题,每次递归,前次内容就丢失,望各位高人给看看,给点指点,给个提示,谢谢~~~
struct _ObjInfo { //保存文件的信息或是函数的信息
CString Path;
UINT AllStep;
UINT RealStep;
UINT CommStep;
UINT CommPercent;
UINT BlanStep;
UINT ModCount;
};struct _CmpObjList {
UINT Type; CString Path;
CString Name;
struct _ObjInfo OldObj;
struct _ObjInfo NewObj;
UINT OldStep;
UINT AddStep;
UINT DelStep;
UINT MdfStep;
UINT ModStep;
struct _CmpObjList* NextObj;//兄弟接点
struct _CmpObjList* ChildObj;//孩子接点
struct _CmpObjList* ModuleObj;//函数信息
}
第二个结构体由一个链表穿了起来,其中链表里村的是完整的目录结构,目录下边有文件也可能有字目录,现在我能统计总的文件个数,但是我想给目录来个小计的时候老是出现问题,每次递归,前次内容就丢失,望各位高人给看看,给点指点,给个提示,谢谢~~~
解决方案 »
- AfxBeginThread需要需要CloseHandle???
- 请教一个初级问题为什么要在ODBC数据源中建立DSN?
- 请教大虾为何在类中定义长量出错
- MDI子窗口更改后窗口内的控件也相应的改变,但出错,请高手指教
- 用ADO连数据库时出错,请教!!!
- 关于系统托盘的自动加载问题, 相信您一定可以解决^_^
- 想做一个播放器界面,为何用SetWindowPos不能把窗口置顶?请高手指点一下,谢谢!
- directshow中的几个句子怎么翻译?
- opengl与MFC控件的层次问题!
- 能象DirectX中操作Surface一样操作内存设备(Memory DC)吗?
- 高手请进,关于动态库!如能解决再奉送100分!
- 新手问题!
CString EnumDir(_CmpObjList *pObj, BOOL bFirst)//bFirst 用来标记是否统计兄弟
{
CString strAllName("");
if (pObj->type == 1)//目录
{
if (pObj->ChildObj)
{
strAllName += EnumDir(pObj->ChildObj, false);
}
if (pObj->NextObj && !bFirst)
strAllName += EnumDir(pObj->ChildObj,false);
}
else
return Name;
}
if (pObj->NextObj && !bFirst)
strAllName += EnumDir(pObj->NextObj,false);
{
int 当前小记数 = 0; if (当前的节点指针 == NULL)
return 0;
if (当前的节点指针表示的节点是文件)
return 1; while(当前的节点指针的节点的孩子节点没有遍历完毕)
{
当前小记数 = 当前小记数 +
遍历小记递归函数(当前的节点指针->当前孩子节点);
移向当前节点的下一个孩子节点;
} return 当前小记数;
}说明:函数的返回值是小记数,本函数统计当前的节点指针所指节点为根节点的树中的文件数