环境:.net2005,C++托管工程
假设:在C盘的A目录下有3个文件:1.c,2.c,3.c
然后调用Test时候,传递参数为C:\A
int Test(DirectoryInfo^ directory)
{
   int i;
   bool result;   array<FileInfo^>^fileInfoArray = directory->GetFiles("*.c");
 
   for(i=0;i<fileInfoArray->GetLength(0);i++){

     result = holteckTest(fileInfoArray[i]); //在这个函数里面会启动另一个进程来运行一个程序,当这个进程结束时该函数才返回.
     if(result)
hitechTest(fileInfoArray[i]);        //在这个函数里面会启动另一个进程来运行一个程序,当这个进程结束时该函数才返回.
   }
    array<DirectoryInfo^>^directoryInfoArray = directory->GetDirectories();

    for(i=0;i<directoryInfoArray->GetLength(0);i++)  //递归调用遍历该目录下的所有子目录
 Test(directoryInfoArray[i]);
}
补充:在调用holteckTest函数时,会启动另一个进程来运行一个程序,而这个程序会生成某个临时文件,用完后在删除.比如对1.c进行调用时,
     会生成临时文件1_cpp.c.现象:按道理Test只会对1.c,2.c,3.c进行遍历,但是运行时发现有时候会对生成的临时文件也进行遍历,但是这个代码是先调用 
directory->GetFiles("*.c");获得当前目录下的所有文件,然后通过循环进行遍历,即使在这个过程中有生成临时文件,那么也不会
被遍历到,但实际上确实被遍历到了,这个到底是怎么回事?????