1  文件名为"."和".."分别为什么?因为当我遍历某个文件夹的文件的时候 需要对WIN32_FIND_DATA中的CFileName进行比较 书上的例程为了区分是文件夹还是文件 就去与"."&&".."比较 如果他们== 则确认为一个文件夹2  书上的历程中 如果要深入文件夹中的文件夹里再去遍历文件 用到了一个函数-----::SetCurrentDirectory() 我比较疑惑 这个是什么意思 书上简单的说了下 是改变进程的目录 这个进程的目录是什么东东???比如我用了一个函数::FindFirstFile(XXX) XXX是一个文件夹的绝对路径 那么进程中是不是存在一个什么变量去记录它 然后再调用了::SetCurrentDirectory(YYY) 则进程的这个变量就改成了YYY这个路径了呢? 再抽象来说 是不是任何一个进程都存在一个目录,初始的时候,就是exe所在的目录呢?3  在形容文件名的时候 "*.*"表示任何一个名字 任何一个扩展名 是不是这样多谢高手指教 尤其第二个问题 实在是需要高手指点迷津

解决方案 »

  1.   

    1 . 表示当前目录, .. 表示上一层目录只有文件夹才会有这两项2 程序的工作目录。不一定是 exe 所在路径,比如在别的目录下调用 exe,则工作目录就是这个目录,而不是 exe 所在的目录3 *.* 不能表示所有的文件,如果文件名中没有 . 的话,那就不匹配了
      

  2.   

    1、.表示当前目录,..表示父目录,除了根目录外,没有目录都有这两个子目录,在遍历的时候要跳过它们,否则会无限递归。
    2、每个进程都有一个“当前目录”,程序中可以利用当前目录使用相对路径来操作,该路径的初始值是创建进程的时候指定的,缺省值为exe文件所在路径。
    3、*.*表示匹配所有文件和子目录。
      

  3.   

    1、.表示当前目录,..表示父目录,这是相对路径的用法
    2、进程启动时都以exe所在的当前目录作为工作目录,但是工作目录可以人为进行修改。人为修改后有一些好处,比如你想调用C:\下的1.exe,但是你的程序目录在D:,那么工作目录默认就是D:,你要调用C:\1.exe必须使用绝对路径,如果你把自己的工作目录切换到C盘下的话,就可以用相对路径调用1.exe了,直接WinExec("./1.exe",...)即可。
    3、*.*表示匹配所有文件和子目录。