Bas*_*asj 5 c windows filesystems filenames wildcard
背景:某些Windows命令行程序允许*.*在第一个参数中使用:
myprogram *.*
Run Code Online (Sandbox Code Playgroud)
并将自动循环目录的所有文件.
其他一些则没有,因此需要批处理循环:
for %%c in ("*.*") do myprogram "%%c"
Run Code Online (Sandbox Code Playgroud)
问题:是否有标准方式(在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");
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想检查一个解决方案是否存在,然后滚动我自己(重新发明通配符扩展的轮子,使用FindFirstFile等)
不,没有标准方法可以做到这一点。有些事情必须处理' 。' 在主函数内。但是,可能有一些在主 C 库主体之外派生的库正在执行您需要执行的操作。此外,您还可以编写一个批处理文件,该文件将循环访问文件集并调用 C 编写的应用程序,如Windows 批处理文件循环目录以处理文件?
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |