私は配列をトークン化し、トークンを文字列のグローバル配列に格納しようとして 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;
}
どんなヒントでも大いに感謝します。