请问在标准C语言中如何正确使用findfirst()函数进行文件查找?

2026-04-12 00:101阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1189个文字,预计阅读时间需要5分钟。

请问在标准C语言中如何正确使用findfirst()函数进行文件查找?

findfirst()函数是标准C库中的函数,用于在字符串中查找第一次出现的指定字符或子字符串。以下是简化后的内容:

c#include

// findfirst()函数用法示例char *findfirst(const char *str, int c);

// 用法说明:// findfirst()函数在字符串str中查找字符c第一次出现的位置。// 参数:// str - 要搜索的字符串// c - 要查找的字符// 返回值:// 返回指向字符c在字符串str中第一次出现位置的指针,如果没有找到则返回NULL。


请教关于标准C中findfirst()函数的用法!谢谢

请问在标准C语言中如何正确使用findfirst()函数进行文件查找?

请教关于标准C中findfirst()函数的用法!谢谢

请教标准C中findfirst()用法,这个函数里的参数都代表什么意义?能帮忙解释一下吗?谢谢!如果有具体实例更加感谢!

2004-10-26 11:22 FH

请教关于标准C中findfirst()函数的用法!谢谢

标准C里没找着,帮不上

2004-10-26 11:29 mimosayuan

请教关于标准C中findfirst()函数的用法!谢谢

我找到了,是这样的
函数名: findfirst, findnext
功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件
用法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);

我想要做的是找到匹配*.tmp的文件,然后把匹配的文件删除,但是我不知道具体该怎么用,还有删除文件应该用什么方法呢?能帮忙看一下吗?谢谢了!

2004-10-26 12:28 aero

请教关于标准C中findfirst()函数的用法!谢谢

这个不是标准C函数吧?

2004-10-26 13:09 FH

请教关于标准C中findfirst()函数的用法!谢谢

你还是用ftw吧,回调方式的,这个省事

2008-2-6 11:26 bheric

原帖由mimosayuan于 2004-10-26 11:29 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=2882364&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]

我找到了,是这样的

函数名: findfirst, findnext

功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件

用法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);

int findne ... [/quote]


findfirst()和findnext()这两个函数是搭配使用的

path是文件路径

ffblk为指定的保存文件信息的一个结构,定义如下:

┏━━━━━━━━━━━━━━━━━━┓ ┃struct ffblk ┃ ┃{ ┃ ┃ char ff_reserved[21]; /*DOS保留字*/┃ ┃ char ff_attrib; /*文件属性*/ ┃ ┃ int ff_ftime; /*文件时间*/ ┃ ┃ int ff_fdate; /*文件日期*/ ┃ ┃ long ff_fsize; /*文件长度*/ ┃ ┃ char ff_name[13]; /*文件名*/ ┃ ┃} ┃ ┗━━━━━━━━━━━━━━━━━━┛ attrib为文件属性,由以下字符代表 ┏━━━━━━━━━┳━━━━━━━━┓ ┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃ ┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃ ┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃ ┗━━━━━━━━━┻━━━━━━━━┛ :em03: int main(void) { struct ffblk ff; int done; done=findfirst("*.bmp",&ff,0); while(!done) { done=findnext(&ff); printf("%s",ff.ff_name); } return 0; } 2008-2-6 13:05 zszyj


[quote]原帖由 mimosayuan于 2004-10-26 11:14 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=2882284&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]
请教标准C中findfirst()用法,这个函数里的参数都代表什么意义?能帮忙解释一下吗?谢谢!如果有具体实例更加感谢! [/quote]
这不是标准C的函数, 是win sdk的函数, 作用是搜索目录下的第一个文件,要和FindNext配合使用.
UNIX下对应的函数是glob.




2008-2-6 13:30 langue


[quote]原帖由 zszyj于 2008-2-6 13:05 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=7946676&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]

这不是标准C的函数, 是win sdk的函数, 作用是搜索目录下的第一个文件,要和FindNext配合使用.
UNIX下对应的函数是glob. [/quote]

请注意大小写 :mrgreen:
对于 Win32,如果不加指定,MSVC 是区分 FindFirst 和 findfirst 的
这 findfirst() findnext() 其实是 Turbo C 里面的函数 :em17:




2008-2-6 13:53 zszyj


[quote]原帖由 langue于 2008-2-6 13:30 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=7946701&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]


请注意大小写 :mrgreen:
对于 Win32,如果不加指定,MSVC 是区分 FindFirst 和 findfirst 的
这 findfirst() findnext() 其实是 Turbo C 里面的函数 :em17:




呵呵,怪不得,我正奇怪呢,正确的写法应该是FindFirst和FindNext,何来的小写。原来是turbo C的函数。

标签:用法

本文共计1189个文字,预计阅读时间需要5分钟。

请问在标准C语言中如何正确使用findfirst()函数进行文件查找?

findfirst()函数是标准C库中的函数,用于在字符串中查找第一次出现的指定字符或子字符串。以下是简化后的内容:

c#include

// findfirst()函数用法示例char *findfirst(const char *str, int c);

// 用法说明:// findfirst()函数在字符串str中查找字符c第一次出现的位置。// 参数:// str - 要搜索的字符串// c - 要查找的字符// 返回值:// 返回指向字符c在字符串str中第一次出现位置的指针,如果没有找到则返回NULL。


请教关于标准C中findfirst()函数的用法!谢谢

请问在标准C语言中如何正确使用findfirst()函数进行文件查找?

请教关于标准C中findfirst()函数的用法!谢谢

请教标准C中findfirst()用法,这个函数里的参数都代表什么意义?能帮忙解释一下吗?谢谢!如果有具体实例更加感谢!

2004-10-26 11:22 FH

请教关于标准C中findfirst()函数的用法!谢谢

标准C里没找着,帮不上

2004-10-26 11:29 mimosayuan

请教关于标准C中findfirst()函数的用法!谢谢

我找到了,是这样的
函数名: findfirst, findnext
功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件
用法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);

我想要做的是找到匹配*.tmp的文件,然后把匹配的文件删除,但是我不知道具体该怎么用,还有删除文件应该用什么方法呢?能帮忙看一下吗?谢谢了!

2004-10-26 12:28 aero

请教关于标准C中findfirst()函数的用法!谢谢

这个不是标准C函数吧?

2004-10-26 13:09 FH

请教关于标准C中findfirst()函数的用法!谢谢

你还是用ftw吧,回调方式的,这个省事

2008-2-6 11:26 bheric

原帖由mimosayuan于 2004-10-26 11:29 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=2882364&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]

我找到了,是这样的

函数名: findfirst, findnext

功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件

用法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);

int findne ... [/quote]


findfirst()和findnext()这两个函数是搭配使用的

path是文件路径

ffblk为指定的保存文件信息的一个结构,定义如下:

┏━━━━━━━━━━━━━━━━━━┓ ┃struct ffblk ┃ ┃{ ┃ ┃ char ff_reserved[21]; /*DOS保留字*/┃ ┃ char ff_attrib; /*文件属性*/ ┃ ┃ int ff_ftime; /*文件时间*/ ┃ ┃ int ff_fdate; /*文件日期*/ ┃ ┃ long ff_fsize; /*文件长度*/ ┃ ┃ char ff_name[13]; /*文件名*/ ┃ ┃} ┃ ┗━━━━━━━━━━━━━━━━━━┛ attrib为文件属性,由以下字符代表 ┏━━━━━━━━━┳━━━━━━━━┓ ┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃ ┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃ ┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃ ┗━━━━━━━━━┻━━━━━━━━┛ :em03: int main(void) { struct ffblk ff; int done; done=findfirst("*.bmp",&ff,0); while(!done) { done=findnext(&ff); printf("%s",ff.ff_name); } return 0; } 2008-2-6 13:05 zszyj


[quote]原帖由 mimosayuan于 2004-10-26 11:14 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=2882284&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]
请教标准C中findfirst()用法,这个函数里的参数都代表什么意义?能帮忙解释一下吗?谢谢!如果有具体实例更加感谢! [/quote]
这不是标准C的函数, 是win sdk的函数, 作用是搜索目录下的第一个文件,要和FindNext配合使用.
UNIX下对应的函数是glob.




2008-2-6 13:30 langue


[quote]原帖由 zszyj于 2008-2-6 13:05 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=7946676&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]

这不是标准C的函数, 是win sdk的函数, 作用是搜索目录下的第一个文件,要和FindNext配合使用.
UNIX下对应的函数是glob. [/quote]

请注意大小写 :mrgreen:
对于 Win32,如果不加指定,MSVC 是区分 FindFirst 和 findfirst 的
这 findfirst() findnext() 其实是 Turbo C 里面的函数 :em17:




2008-2-6 13:53 zszyj


[quote]原帖由 langue于 2008-2-6 13:30 发表 [url=bbs.chinaunix.net/redirect.php?goto=findpost&pid=7946701&ptid=432048][img]img.558idc.com/uploadfile/allimg/20230825/back.jpg[/img][/url]


请注意大小写 :mrgreen:
对于 Win32,如果不加指定,MSVC 是区分 FindFirst 和 findfirst 的
这 findfirst() findnext() 其实是 Turbo C 里面的函数 :em17:




呵呵,怪不得,我正奇怪呢,正确的写法应该是FindFirst和FindNext,何来的小写。原来是turbo C的函数。

标签:用法