おはようございます、私は現在、私が始めたばかりの言語である標準 C を使用する Pebble Smartwatch 用のアプリに取り組んでいます。
Money トランザクションを配列に追加する関数があります。私は次のようにトランザクションを定義しました:
struct Transaction {
char * title;
char * amount;
char * date;
char * text;
} txnsArray[20];
トランザクションを受け取るたびに、次の関数を使用して txnsArray に追加されます。
void addTransaction(DictionaryIterator * txnIter){
Tuple *txnTitle_Tuple = dict_find(txnIter, TRANSACTION_TITLE);
Tuple *txnAmount_Tuple = dict_find(txnIter, TRANSACTION_AMOUNT);
Tuple *txnText_Tuple = dict_find(txnIter, TRANSACTION_TEXT);
txnsArray[transOverview.txnCounter].title = txnTitle_Tuple->value->cstring;
txnsArray[transOverview.txnCounter].amount = txnAmount_Tuple ->value->cstring;
txnsArray[transOverview.txnCounter].text = txnText_Tuple->value->cstring;
transOverview.txnCounter++;
}
この配列をチェックすると、想定どおりにエントリが追加されますが、最後に追加したトランザクションがすべてのエントリに適用されます。
最初に 2.5 ユーロのトランザクションを追加し、次に 4.0 ユーロの別のトランザクションを追加すると、両方のエントリが 4.0 ユーロになります。
私は何を間違っていますか?助けていただければ幸いです。:)