みなさん、こんにちは。
私が理解できないある種の大きな問題があります。ポインターの多次元配列を作成します。
char *listA[5000][2];
特定の条件では、特定の文字列がこの配列内に保存されるようにします。これらは、単純な変数内の通常の文字列と、文字列の配列内に含まれる別の文字列です。
listA[j][0]=strMix;
listA[j][1]=ingredients[i];
j++;
もちろん、 jは行であり、追加するたびに増加します。
結果は、行ごとに 2 つの列を含む配列である必要があります。1 つは成分で、もう 1 つは相対的な strMix です。
問題は、この多次元配列を読み込もうとすると、次のようになることです。
printf( "%s", listA[0][1]); // the ingredient
は常に正しいですが、次のとおりです。
printf( "%s", listA[0][0]); // the strMix code
は常に正しくありません。正確には、すべての行について、最後に読み取った strMix を読み取ります。
列の順序を変更しようとしましたが、驚いたことに、問題は常に strMix にあり、 components [i]文字列にはありません。
strMix 列は、listA 内に記述してすぐに読み取った場合にのみ正しいです。もちろん、私は言うでしょう。
例えば:
printf("Current: %s vs Previously: %s",lista[j][0], lista[j-1][0]);
それらはすべての j について同じであり、最後に読み取られた strMix と同じです。
メモリやポインターの多次元配列について何かアイデアがあれば、私が見逃しているだけです。アドバイスをいただければ幸いです。
いつもありがとうございます。fdt。