需要实现在一个指定的目录下,搜索所有的文件,找出包含指定的字符串的文件。是否有api函数?是否需要indexing service?

解决方案 »

  1.   

    you can not implement something like this,  because you can seldom have chance now detail word, ppt, excel, pdf format. use index service is very good choice.
      

  2.   

    我并不想自己写一个全文检索的引擎,只是想在应用程序里面调用一个系统的全文检索功能。如果使用index service的话,该如何使用呢?
      

  3.   

    int  findtext
    {  open file;
       read buffer from file
       for (i=0;i<nread;i++) memcmp()   close file
    }int findfile(char *path)
    done=findfirst()
    while (!done)
    {  if (文件属性==目录) findfile(subpath)
       else findtex()
       done=findnext();
    }
      

  4.   

    AND 是内定值,也就是说,当你搜寻dog and cat 将得到所有包含这两个字的文章。
    用双引号 (") 搜寻片语,也就是说,当你搜寻 "dog cat" 将找到含有该片语的文章,包括空白。减号 (-) 消除字元。也就是说,当搜寻 dog and -cat 将会得到包含 dog 但不包含 cat的文章。 你可以用双引号方式消除片语,例如: dog -"siamese cat".这个搜寻引擎是不分大小写的,可以对主题,文章内容及作者做搜寻。
      

  5.   

    用FindFirstFile等函数遍历目录。
    用CreateFileMapping将文件作内存映射,
    这样,查找字符串,就变成完全的内存操作了。
    如果结合多线程、虚拟内存可以是效率提高不少。
      

  6.   

    ms provide index service com interface for you to use(just like directX).
    see msdn -> platformsdk -> base services->index service -> index service ference.