有几个字符串1. D:\
2. D:\vs2005 Code\02 print\print
3. E:\下载文件\111.doc如何通过编码知道上述三个字符串CString, 哪个是文件夹哪个是文件名?并得到文件的扩展名?谢谢!

解决方案 »

  1.   

    PathIsDirectory检查哪个是文件夹,如果不是的就是文件了,扩展名就用ReverseFind('.')结合得到
      

  2.   

    用Cfindfile或者API FindFirstFile等查找
      

  3.   

    errno_t _splitpath_s(
       const char * path,
       char * drive,
       size_t driveSizeInCharacters,
       char * dir,
       size_t dirSizeInCharacters,
       char * fname,
       size_t nameSizeInCharacters,
       char * ext, 
       size_t extSizeInBytes
    );
      

  4.   


    前面那个判断是没有问题,那ReverseFind('.')好像不行吧 如果路径里面有"."怎么办呢?
    难道字符串不能直接取得扩展名么
      

  5.   


    可以直接去的扩展名,见3楼API
      

  6.   

    PathIsDirectory();
    _tsplitpath()