2016-10-21 12 views
1

この質問には、かなり一般的に尋ねられる多くのトピックが含まれていますが、この特定の組み合わせが以前に尋ねられたわけではありません。情報/解答をまとめようとする円の中を回っています。ペブルSDK - 文字列を持つ構造体の配列

とにかく...

私はジムでの使用のための私のペブルのためのアプリケーションを記述しようとしています。

考えてみると、腕時計にはたくさんのトレーニングがあり、エクササイズを選択し、エクササイズを繰り返したり、レシピ/ウェイトを見たり、休憩時間を開始したりすることができます。

TCL/Python/JavascriptとJavaで私の人生のほとんどを生きてきました。私はたくさんのC言語を使っていました。私の頭の中には、Cの裸の骨の性質があります。

長年の目標は、トレーニングを設定するために使用するコンパニオンAndroidアプリを持つことになりますが、今はデータをハードコードすることができます基礎となるデータ構造が適切な形式である限り長い。

これは攻撃の私の現在のルートです:

#include <pebble.h> 

struct Set { 
    int reps; 
    int weight; 
}; 

struct Exercise { 
    char desc[32]; 
    int rest; 
    int num_sets; 
    struct Set sets[];  
}; 


struct Workout { 
    char desc[32]; 
    int num_exercises; 
    struct Exercise exercises[]; 
}; 

struct Workout workouts[3]; 

strcpy(workouts[0].desc, "Shoulders"); 
strcpy(workouts[1].desc, "Back"); 
strcpy(workouts[2].desc, "Chest"); 

しかし、次のエラーでコンパイルに失敗し、この:

../src/c/workouts.h:27:8:エラー:予想される宣言指定子または 'ワークアウト前の' ... ' ../src/c/workouts.h:27:26:エラー:期待される宣言指定子または' ... '(文字列定数の前) ../src/c /workouts.h:28:8:エラー:予測宣言子または '...'の前に 'workouts' ../src/c/workouts.h:28:26:エラー:期待される宣言指定子または '... '文字列定数の前に ../src/c/workouts.h:29:8:エラー: 'workouts'の前に '...'と宣言されています。 ../src/c/workouts.h:29:26:エラー:予想宣言指定子または「...」文字列定数

27行は、私は他の選択肢がちょうど区切られたフィールドの荷重で、ちょうど大規模なデータブロブを持っているだろうと思い最初strcpy

になる前にそのような方法で解読してください:

char workouts[1024] 

workouts = "W=Shoulders|Press|8x25kg|6x30kg|4x35kg|40s|..." 

ちょっと醜いようですが、私がデータを渡す必要があれば簡単になるかもしれませんアンドロイドアプリ向けk &?

とにかく - 何か助けてください!

マーク

+0

を含めることができます。 – scorpGoku

答えて

1

すべての関数は関数内で実行する必要があります。これとのstrcpy()を使用してラインを交換してください:

int main() { 
    strcpy(workouts[0].desc, "Shoulders"); 
    strcpy(workouts[1].desc, "Back"); 
    strcpy(workouts[2].desc, "Chest"); 

    return 0; 
} 

あなたはまた、string.hの

あなたが関数内でのstrcpy(複数可)を配置する必要があり
+0

Brilliant!ありがとう。 – user1133150

関連する問題