2016-10-21 6 views
1

이 질문은 상당히 일반적으로 묻는 여러 주제를 다루고 있지만, 이전에 요청한 특정 조합을 찾지 못했고, 정보/답변을 하나로 묶으려는 서클에서 라운드 진행. 어쨌든 페블 SDK - 문자열이있는 구조체 배열 (아마도 포인터 일 수도 있음)

...

나는 체육관에서 사용하기 위해 내 페블에 대한 응용 프로그램을 작성하는 것을 시도하고있다.

아이디어는 시계에서 운동을 많이하고 운동을 선택한 다음 운동을 반복하고 반복 횟수/무게를 확인하고 휴식 시간을 시작하여 타이머를 트리거 할 수 있다는 것입니다. .

나는 많은 달 전에 (주로 포함 된 것들) C의 작은 비트를 사용했지만 TCL/Python/Javascript와 Java로 대부분의 삶을 살았고 나는 약간의 문제를 겪고 있습니다. 내 머리는 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 : 오류 : 예상 선언 지정자 또는 '운동'하기 전에 '...' ../src/c/workouts.h:28:26 : 오류 : 예상 선언 지정자 또는 '...' ' 문자열 상수 앞에 ../src/c/workouts.h:29:8 : 오류 : 예상 선언 지정자 또는 '운동'전에 '...' ../src/c/workouts.h:29:26 : 오류 : 예상 선언 지정자 또는 '...'

라인 (27) 상수 문자열 전에 첫 번째 strcpy

내가 다른 옵션은 단지 구분 된 필드와의 부하와 함께 대규모 데이터 덩어리를하는 것 같아요 단지 그 방법을 통해 휘젓다 :

char workouts[1024] 

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

데이터 베스를 전달해야한다면 쉽게 끝날 수도 있지만 그저 약간 추한 것처럼 보입니다. 안드로이드 앱에 k &?

어쨌든 - 어떤 도움을 주셨습니다!

마크

+0

을 포함 할 수 있습니다. – scorpGoku

답변

1

C에서 모든 실행은 함수 내에서 이루어져야합니다. 이과의 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

관련 문제