编程论坛's Archiver

liangfeiyp 发表于 2006-8-4 21:41

用CFileFind判断一个目录下是否有文件的问题

<P>我的程序要检索一个目录,如果有文件就继续往下读取和分析文件,没有就返回,定义了一个检测函数:<BR>bool IsExitFile( CString&amp; strDirectory)  //判断目标目录下是否有文件<BR>{<BR>    <BR>    CFileFind Finder;<BR>    CString strTempDirectory = strDirectory  +"\\" +"*.*";<BR>    BOOL IsFinded = Finder.FindFile(strTempDirectory);<BR>    if( IsFinded )<BR>        return true;<BR>    else<BR>        return false;<BR>}<BR><BR>然后在主线程函数中调用<BR>void CJKVView::AnaylseFile()<BR>{<BR>  if( IsExitFile( m_strFormat))     //m_strFormat参数是传入用户设置的文件存放路径<BR>    {<BR>    fileinfo afile;<BR>    resortfiles(afile);    //读取原始文件信息       <BR>    ana(afile);        ////生成,打开和读取生成的文件<BR>    CaclTime2(afile);   //整理已经分析的文件<BR>    }<BR>    else<BR>      return;<BR>}<BR><BR>编译的时候出错,说有无法解析的命令:<BR>JKV error LNK2019: 无法解析的外部符号 "public: bool __thiscall CJKVView::IsExitFile(class ATL::CStringT&lt;char,class StrTraitMFC&lt;char,class ATL::ChTraitsCRT&lt;char&gt; &gt; &gt; &amp;)" (<a href="mailto:?IsExitFile@CJKVView@@QAE_NAAV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z" target="_blank" >?IsExitFile@CJKVView@@QAE_NAAV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z</A>) ,该符号在函数 "public: void __thiscall CJKVView::AnaylseFile(void)" (<a href="mailto:?AnaylseFile@CJKVView@@QAEXXZ" target="_blank" >?AnaylseFile@CJKVView@@QAEXXZ</A>) 中被引用<BR>JKV fatal error LNK1120: 1 个无法解析的外部命令<BR><BR>我在主函数中把IsExitFile()函数的调用去掉,不使用 if( IsExitFile( m_strFormat))这个判断过程,则编译顺利通过,<BR>不知道是哪里出错了,请高人指点,不胜感激!<BR><BR></P>

十一月天 发表于 2006-8-5 07:01

SaveFileDialog里的CheckFileExists属性,当设置成false的时候,就可以当你选择一个不存在的文件时自动创建一个,默认是true,是不可以自动创建,我原来是用这个加上try{}catch{}判断过。<BR>

liangfeiyp 发表于 2006-8-7 22:04

我的问题已经解决了,是因为我的声明出现了问题,谢谢你!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.