gpt4 book ai didi

c - 填充 C 输出参数

转载 作者:太空狗 更新时间:2023-10-29 17:20:00 24 4
gpt4 key购买 nike

这是一个初学者问题,但请耐心等待。我想将一个 char* 传递给一个函数,并用多个现有字符串的内容填充它。这是我拥有的(但不起作用)

int func(char *out) {
int i;
int x = 10;
int y = 10;
char array[x][y];

out = malloc(x * y + x);
memset(out, 0x00, strlen(out));
for (i=0; i<x; i++) {
strcat(out, array[i]);
strcat(out, "\n");
}
}

//main
char *result;
func(result);

最佳答案

char* 只是一个指针,传入它不会让您再次传回一个新指针。您需要像这样传递一个 char**:

void get_name( char** ppname ){
char * pname = strdup("my name is fred");
*ppname = pname;
}

然后您将函数提供给某处以放置指针,如下所示:

char * name;
get_name( &name );
printf( "got '%s'\n", name );
free( name );

关于c - 填充 C 输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9511260/

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