我正在使用 C 尝试标记一个数组,然后将标记存储到一个全局字符串数组中。问题是我正在尝试使用指针来执行此操作,因此我不必重新引用字符串数组的索引。我知道数组应该有多大,这就是为什么使用索引很容易做到这一点,但是;我试图用指针来做到这一点。我不知道这是否可能,所以在这里纠正我。这是我尝试实现但未成功的代码..
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *cPayload2[PARAMS];
void ReadIn2(char *input)
{
//Initialize the pointer to the
char *PayloadPtr;
//start the parse
char *token = strtok(input, "#");
//pointer to an array of strings(pointers to character arrays)
PayloadPtr = &cPayload2[0];
while(token != NULL)
{
这是有问题的部分,我可以用这样的子句更改全局数组的索引吗?看来我无法用这个打印出有效载荷数组。
*PayloadPtr = token;
//increment the index that the ptr refrences
PayloadPtr++;
//tokenize again
token = strtok(NULL, "#");
}
}
int main(void)
{
char input[] = "jsiUjd3762BNK==#KOIDKKkdkdwos==";
ReadIn2(input);
出于某种原因,此打印输出被伪造了
printf("%s\n",cPayload2[0]);
printf("%s\n",cPayload2[1]);
return 0;
}
任何提示将不胜感激。