gpt4 book ai didi

c - 如何使用memcpy将一个字符串复制到结构中的另一个字符串(char **)?

转载 作者:行者123 更新时间:2023-11-30 15:14:56 28 4
gpt4 key购买 nike

struct orange_t {

short size;
Month expirationMonth;
char** foodCompanies;
int maxNumberOfFoodCompanies;
int sellingPrice;
};

memcpy(orange->foodCompanies,foodCompany,sizeof(strlen(foodCompany)));
printf("%s %s",orange->foodCompanies[0],foodCompany);

我的问题。我真的不知道如何正确访问 foodComapnies 中橙色的第一个单词,第二个等等......

正确的语法和正确的方法是什么?我想写几个foodComapny到orange->foodCompanies中,每个foodComapny在字符串数组的另一个地方。

最佳答案

memcpy(orange->foodCompanies,foodCompany,sizeof(strlen(foodCompany)));

是错误的。 sizeof(strlen...) 告诉你一个数字有多大 - 没有用。

我假设 foodCompanies 是一个名称数组,并且您想要将 foodCompany 添加到该数组中。您没有显示该数组是如何设置的(很重要)。我假设它没有设置

orange->foodCompanies = malloc(sizeof(char*))// array holds one entry
orange->foodCompanies[0] = strdup(foodCompany);

要添加另一个条目,您需要重新分配或使原始 malloc 更大

关于c - 如何使用memcpy将一个字符串复制到结构中的另一个字符串(char **)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812026/

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