“无效的参数”错误,当globbing
问题描述:
我一直在尝试使用C中的glob函数来获取我存储数据的目录中的一组文件名。但是,我不断收到一条错误消息,声称“无效的参数”。我不知道它指的是什么论点。这里是产生错误“无效的参数”错误,当globbing
#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;
}
寻找盼着您的任何建议
答
目前你逝去的files
没有办法3210实际上可以填充它的方式示例代码。相反,你需要做的是:
glob_t files = { 0 };
err = glob("*", GLOB_ERR | GLOB_MARK, NULL, &files);
你还应该再打globfree(&files)
清理。
另一解决方案是尝试 'glob_t *文件= NULL;' '文件= malloc的(的sizeof(glob_t));' 'ERR =水珠( “*”,GLOB_ERR | GLOB_MARK,NULL,文件); ' 保留“ - >”句法 – 2014-08-28 16:17:37