发表于:2010/8/7 17:24:23
#0楼
在cvi中与目录和文件相关的库在以下路径:
[URL=https://32qjdg.blu.livefilestore.com/y1mgcgkwbvyoiyajbtr6v3ru3naxb0z6fyidd0mc2rte9gsfeszaljhnfczmdig3c_o123noiusuf0ekascidzs0tc9hckwg0iiiqeosnptcja3mcqfzv1eeygwpv6kdec_fihqmjbmn8-yd93xywzidw/image[3]%2041b4290f.png?download&psid=1]
[img]http://blog.gkong.com/https://32qjdg.blu.livefilestore.com/y1meqkviqpwkt0cwdl8xzwnnsdynmcm4baec_uqrnp2kxp8qcicaweo_dgadrrzyhe-c-jcj93nxt0c3wve_5uoutwywy372rj2vx1c3lgstykifdiduqvynmfezszqtbna-n4v8fmq0qzskab9-1fuyq/image_thumb[1]%203a323abf.png?download&psid=1[/img]
[/URL]
[URL=https://32qjdg.blu.livefilestore.com/y1mx7iki0x9ytboztwdrb_ot2qvik7ajrhrgrcw_ymxn00i3va7bjxsirany6ptcwpryr8zvcewgcfwugsrbzqezgdsuwtewihvtwkpq81kephbj0-bwymsvuoemtmxni94pbkfj5mdwa9txlyaakdbgw/image[7]%201a8a5163.png?download&psid=1]
[img]http://blog.gkong.com/https://32qjdg.blu.livefilestore.com/y1mp599hjnogdrm6srppwtakc2l2fikme7f9xhrwwz4dj_x0_mehrdmdomfj4cawkofjz7cc3xnnuffnuqupwmedyziftujbxpqq9hdgwtlq1esrxs66mn-8lffjdx0dp4fc4dh_bm4_-cbnylyghmt0q/image_thumb[3]%2069034388.png?download&psid=1[/img]
[/URL]
--- ---
cvi 并没有包装能直接获得指定目录存在与否的win api函数,因此只能用win api来实现,具体pm如下:
// win sdk ...
win32_find_data wfd;
handle hfind;
int ntmp;
// win sdk .................
char strcatalog[max_pathname_len];
hfind = findfirstfile(strcatalog,&wfd);
// searches a directory for a file or subdirectory with a name that matches a specific name (or partial name if wildcards are used)
if(hfind==invalid_handle_value)
{ // strcatalog名称没有找到,目录一定不存在
//未找到目录处理
}else{
// strcatalog目标找到,但还要判断找到的目标类型是否就是目录
findclose(hfind);//首先关闭句柄
ntmp = wfd.dwfileattributes;
if(0 == ((dword)ntmp & (dword)file_attribute_directory)){
//找到的目标类型不是目录类型处理
}else{
//找到的目录类型是目录类型处理
}
}
--- ---
(1) findfirstfile函数是查找到目录下的第一个文件或
目录
,findnextfile函数是查找下一文件或目录。
如执行成功,返回一个搜索句柄。如果出错,返回一个invalid_handle_value常数,
一旦不再需要,应该用findclose函数关闭这个句柄
vc声明
handle findfirstfile(
lpctstr lpfilename, // file name
lpwin32_find_data lpfindfiledata // data buffer
);
功能说明
该函数到一个文件夹(包括子文件夹)去搜索指定文件or
子目录
如果要使用附加属性去搜索文件的话 可以使用findfirstfileex函数
参数说明
handle hfindfile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件
lpwin32_find_data lpfindfiledata 指向一个用于保存文件信息的结构体
返回值
如果调用成功返回一个非0值
调用失败 返回为0 可调用getlasterror来获取错误信息
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=120805&Name=zjcsharp
[URL=https://32qjdg.blu.livefilestore.com/y1mgcgkwbvyoiyajbtr6v3ru3naxb0z6fyidd0mc2rte9gsfeszaljhnfczmdig3c_o123noiusuf0ekascidzs0tc9hckwg0iiiqeosnptcja3mcqfzv1eeygwpv6kdec_fihqmjbmn8-yd93xywzidw/image[3]%2041b4290f.png?download&psid=1]
[img]http://blog.gkong.com/https://32qjdg.blu.livefilestore.com/y1meqkviqpwkt0cwdl8xzwnnsdynmcm4baec_uqrnp2kxp8qcicaweo_dgadrrzyhe-c-jcj93nxt0c3wve_5uoutwywy372rj2vx1c3lgstykifdiduqvynmfezszqtbna-n4v8fmq0qzskab9-1fuyq/image_thumb[1]%203a323abf.png?download&psid=1[/img]
[/URL]
[URL=https://32qjdg.blu.livefilestore.com/y1mx7iki0x9ytboztwdrb_ot2qvik7ajrhrgrcw_ymxn00i3va7bjxsirany6ptcwpryr8zvcewgcfwugsrbzqezgdsuwtewihvtwkpq81kephbj0-bwymsvuoemtmxni94pbkfj5mdwa9txlyaakdbgw/image[7]%201a8a5163.png?download&psid=1]
[img]http://blog.gkong.com/https://32qjdg.blu.livefilestore.com/y1mp599hjnogdrm6srppwtakc2l2fikme7f9xhrwwz4dj_x0_mehrdmdomfj4cawkofjz7cc3xnnuffnuqupwmedyziftujbxpqq9hdgwtlq1esrxs66mn-8lffjdx0dp4fc4dh_bm4_-cbnylyghmt0q/image_thumb[3]%2069034388.png?download&psid=1[/img]
[/URL]
--- ---
cvi 并没有包装能直接获得指定目录存在与否的win api函数,因此只能用win api来实现,具体pm如下:
// win sdk ...
win32_find_data wfd;
handle hfind;
int ntmp;
// win sdk .................
char strcatalog[max_pathname_len];
hfind = findfirstfile(strcatalog,&wfd);
// searches a directory for a file or subdirectory with a name that matches a specific name (or partial name if wildcards are used)
if(hfind==invalid_handle_value)
{ // strcatalog名称没有找到,目录一定不存在
//未找到目录处理
}else{
// strcatalog目标找到,但还要判断找到的目标类型是否就是目录
findclose(hfind);//首先关闭句柄
ntmp = wfd.dwfileattributes;
if(0 == ((dword)ntmp & (dword)file_attribute_directory)){
//找到的目标类型不是目录类型处理
}else{
//找到的目录类型是目录类型处理
}
}
--- ---
(1) findfirstfile函数是查找到目录下的第一个文件或
目录
,findnextfile函数是查找下一文件或目录。
如执行成功,返回一个搜索句柄。如果出错,返回一个invalid_handle_value常数,
一旦不再需要,应该用findclose函数关闭这个句柄
vc声明
handle findfirstfile(
lpctstr lpfilename, // file name
lpwin32_find_data lpfindfiledata // data buffer
);
功能说明
该函数到一个文件夹(包括子文件夹)去搜索指定文件or
子目录
如果要使用附加属性去搜索文件的话 可以使用findfirstfileex函数
参数说明
handle hfindfile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件
lpwin32_find_data lpfindfiledata 指向一个用于保存文件信息的结构体
返回值
如果调用成功返回一个非0值
调用失败 返回为0 可调用getlasterror来获取错误信息
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=120805&Name=zjcsharp