gpt4 book ai didi

c - 将动态变化的数组的值保存到指针 C 中

转载 作者:行者123 更新时间:2023-11-30 19:51:34 24 4
gpt4 key购买 nike

我正在努力解决这个问题。我是 C 初学者。

                        uint8_t *instrumentStringsCount;
instrumentStringsCount = malloc(sizeof(uint8_t));
dbGettingStringsNumbers(instrumentStringsCount, familyID);
uint8_t sizeCount = instrumentStringsCount[0];
uint8_t i = 0;

char stringTransferArray[10];
char *mainArray[sizeCount];

while(i < sizeCount)
{
sprintf(stringTransferArray, "%d strings", instrumentStringsCount[i+1]);
mainArray[i]= stringTransferArray;
i++;
}

问题是 stringTransferArray 是动态变化的(instrumentStringsCount:从数据库中获取)。因此指针的值总是被更改为数组中的最后一个值。我知道原因;但是,我只需要一种方法来解决这个问题。

感谢您的努力

最佳答案

My problem is in this line: mainArray[i]= stringTransferArray; the stringTransferArray is changing and when that happens, all the values of the mainArray show the last value associated with stringTransferArray

至于你的问题,有一些函数可以复制字符串。它在 C 规范中并未真正标准化,但据我所知,没有一个平台没有 strdup 函数。 – 一些程序员家伙

关于c - 将动态变化的数组的值保存到指针 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41084734/

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