gpt4 book ai didi

c++ - 将指针存储在数组中

转载 作者:行者123 更新时间:2023-11-30 02:44:29 26 4
gpt4 key购买 nike

我使用 strtok 来标记数组。我想将 strtok 返回的 char 指针存储到一个数组中。

  char exp[] = {"1000 + 1000"};
char operands[50];
p = strtok(exp, " ");

现在我想将 p 的值(即 1000)存储到 operands[i] 数组中。我这样试过:

memcpy(&operands[i], p, 49);

但它只复制一个整数。

最佳答案

我猜您实际上并不想将 p 指向的字符串复制到字符数组 operands 中。相反,在我看来,您希望 operandspointerschar 的数组,即

char *operands[50];

那你就可以了

operands[i] = p;

(注意:i 必须是一个有效的索引,在 0 <= i < 50 范围内)


不过,以上是C题的C解法。如果您使用 C++ 编程,您可能应该使用 std::stringstd::vector相反:

std::vector<std::string> operands;

...

operands.push_back(p);

当然,如果您使用 C++ 编程,则根本不应使用字符数组和 strtok,而应使用 C++ standard library 中的功能也用于标记化。

关于c++ - 将指针存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25257833/

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