您的位置:程序门 -> vc/mfc -> 界面



文件搜索问题1


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


文件搜索问题1[已结贴,结贴人:finker]
发表于:2007-08-04 10:31:01 楼主
我用下面的函数搜索文件夹下的bmp文件,一般搜索是没问题的。
但是我在前面的窗口弹出选择文件对话框导入图片后,进入下个窗体,执行这个函数搜索文件夹这个函数就不起作用了,如果没有弹出导入图片对话框,直接进入下个窗体执行搜索就没问题。
handle   handle   =   findfirstfile((lpcstr)cs,&data);   返回就为-1了!我想不明白,不导入图片用这个函数就没问题,只要弹出了导入对话框以后,就不行了,快郁闷死了,请帮忙解决一下1

bool   emuarttemp(const   char     *     path)      
{  
cstring   ftype;
cstring     cs(path);      
win32_find_data     data;      
cs   +=   "\\*.* ";      
handle   handle   =   findfirstfile((lpcstr)cs,&data);      
bool   ret   =   (bool)handle;  

while(ret)      
{      
if(data.dwfileattributes   &   file_attribute_directory)      
{      
if(data.cfilename[0]   !=   '. ')      
{      
// cs   =   path;      
// cs   += "\\ ";      
// cs   +=   data.cfilename;      
// emufiles((lpcstr)cs);       //递归遍历子文件夹
}      

}      
else           //is   a   file      
{      
cs   =   path;      
cs   +=   data.cfilename;    
ftype   =   cs.right(3);
if( ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦
ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp ")
{
arttemplist.push_back(cs);
}

}      
ret   =   findnextfile(handle,&data);  
}      
findclose(handle);  

return   true   ;
}
发表于:2007-08-04 10:39:421楼 得分:0
调试程序,看看搜索以前的变量值:

(lpcstr)cs,&data


cs   和   data   的值。
发表于:2007-08-04 10:39:452楼 得分:20
cfiledialog的问题.   默认情况下,它会改变当前目录路径

在调用cfiledialog时加上ofn_nochangedir标记
发表于:2007-08-04 10:40:183楼 得分:0
这个不用这么麻烦
if( ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦
ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp "   ¦ ¦   ftype== "bmp ")


用cstring的方法把ftype的内容全部转变成大写或小写在判断
发表于:2007-08-04 11:03:224楼 得分:0
谢谢   jasonshark(没暑假了...)  
可以加我qq吗?57562820,方便讨教!


快速检索

最新资讯
热门点击