gpt4 book ai didi

跨平台 "standard"在 C 中接受带通配符的文件名的方式?

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:32 24 4
gpt4 key购买 nike

我正在用 C 编写一个命令行实用程序来处理图像文件。在当前状态下,应用程序可以通过 argv 接受多个显式文件名,但我想添加对通配符的支持,如下所示:

imgprocess.exe *.png *.gif

./imgprocess *.png *.gif

看起来这应该是 C99 支持的足够普遍的事情,但我很难找到一个标准的跨平台解决方案。

对于 Windows,似乎(通过 this article )链接到 setargv.obj 可以解决问题,但这是 Windows 特有的,我认为是 Visual Studio。

对于 Linux,它看起来像 readdir()scandir()可以给我一个目录列表,我可以遍历它来匹配文件,但我认为这只是 Linux。

由于通配符是如此常见,我觉得我缺少某种简单明显的解决方案。目前我在 Linux 上使用 gcc 进行编译,但我希望它至少可以针对 Windows 和 Linux 进行编译。

感谢您的任何建议。

最佳答案

至少在类 Linux 系统上,shell 将通配符扩展为文件名列表。所以没有必要添加这个功能!

关于跨平台 "standard"在 C 中接受带通配符的文件名的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com