gpt4 book ai didi

c - 如何声明函数一次传递一个参数 argv[i]?在C中

转载 作者:行者123 更新时间:2023-11-30 15:23:32 26 4
gpt4 key购买 nike

在调试时,当我跳转到函数 parseLayerFile filename is (char **) 0x40a04e <_Jv_RegisterClasses+4235342>...如何更正声明以获得有效的文件名值?

void parseArgs(WRAPPER_t *w, int argc, char *argv[])
{
int i;
for (i=1 ;i<argc ;i++) {
if (strcmp(argv[i],"-layers") == 0) {
i++;
parseLayerFile(argv[i]);
}
} // for
}

int parseLayerFile(WRAPPER_t * w, char*filename[]){
unsigned char * buffer; size_t size;
size = get_fileContent(filename, &buffer);
}

int main(int argc, char **argv)
{
WRAPPER_t * w;
w = create_wrapper(); // w - main object
threads_init(w);
parseArgs(w, argc, argv);
return 0;
}

最佳答案

int parseLayerFile(WRAPPER_t * w, char*filename[])

需要两个参数。

您仅使用一个参数调用它:

parseLayerFile(argv[i]);

由于没有一个参数适合您的需要,请按如下方式修复该函数:

int parseLayerFile(const char * filename)
{
unsigned char * buffer;
size_t size = get_fileContent(filename, &buffer);
}

关于c - 如何声明函数一次传递一个参数 argv[i]?在C中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28767204/

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