gpt4 book ai didi

c - "Invalid Argument"通配时出错

转载 作者:行者123 更新时间:2023-11-30 17:29:42 35 4
gpt4 key购买 nike

我一直在尝试使用 C 中的 glob 函数来获取存储数据的目录中的一组文件名。但是,我不断收到一条错误消息,声称“参数无效”。我不知道它指的是什么论点。这是产生错误的示例代码

#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <glob.h>

int main(int argc, char *argv[]){
int j = 0, err = 0;
glob_t *files = NULL;
err = glob("*", GLOB_ERR | GLOB_MARK, NULL, files);
if(err){
printf("Error found: %s\n",strerror(errno));
exit(err);
}
for(j = 0; j < files->gl_pathc; ++j){
printf("%s\n",files->gl_pathv[j]);
}
return 0;
}

期待任何建议

最佳答案

按照您当前传递文件的方式,glob()实际上无法填充它。相反,您想做的是:

glob_t files = { 0 };
err = glob("*", GLOB_ERR | GLOB_MARK, NULL, &files);

您还应该稍后调用 globfree(&files) 进行清理。

关于c - "Invalid Argument"通配时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553206/

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