*。*在C中的argv [1]中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了*。*在C中的argv [1]中相关的知识,希望对你有一定的参考价值。
背景:一些Windows命令行程序允许在第一个参数中使用*.*
:
myprogram *.*
并将自动循环目录的所有文件。
其他一些则没有,因此需要批处理循环:
for %%c in ("*.*") do myprogram "%%c"
问题:是否有标准方式(在C语言中定义或由OS提供?)允许在参数中使用*.*
或*.txt
,以便它自动对相关文件进行处理?
int main(int argc, char *argv[])
{
FILE *kf;
"for fname in argv[1]" // pseudo code here meaning:
// let's loop on all files described by the first argument
{
kf = fopen(fname, "rb");
...
}
}
我想检查一个解决方案是否存在,然后滚动我自己(重新发明通配符扩展的轮子,使用FindFirstFile等)
答案
不,没有标准的方法可以做到这一点。有些东西需要处理'。'在主要功能内。但是,可能有一些库在主C库体外部派生,它们正在做你需要做的事情。此外,您可以编写一个批处理文件,它将遍历文件集并调用C编写的应用程序,如Windows Batch File Looping Through Directories to Process Files?中所述
以上是关于*。*在C中的argv [1]中的主要内容,如果未能解决你的问题,请参考以下文章