2013-06-14 9 views
1

하나의 변수를 여러 배열에 삽입하여 파일 줄을 자르려고합니다.배열에 문자열 삽입 - PAWN 스크립트

new combomeals[] = { 
    3025101, 3025100, 3003000, 3025002, 3030101, 3025001, 3025000, 3021602, 3031402, 3020100, 
    3031401, 3031400, 3031302, 3020242, 3031301, 3031300, 3021702, 3021701, 3021700, 3020602, 
    3021601, 3030100, 3021600, 3021502, 3021501, 3020201, 3021500, 3020150, 3020502, 3020501, 
    3020500, 3001802, 3001801, 3001800, 3001702, 3001701, 3001700, 3011602, 3011601, 3011600, 
    3011502, 3020202, 3011501, 3011500, 3011232, 3011231, 3011202, 3011201, 3010602, 3010601, 
    3010600, 3010902, 3010901, 3010900, 3011102, 3011101, 3011100, 3011002, 3011001, 3011000, 
} 
그것은 더 이상보다 사실이다

하지만이 설명을 단축 ... 난 combomeals을 [먹고 싶어 : 그래서 나는 다음과 같은 문자열이나 배열 변수를 가지고 싶습니다 ] 다른 배열에 넣으십시오. 다음은 작동하지 않지만 아이디어를 얻을 수 있습니다.

new first_array[] = { 
    1, 
    2, 
    3, 
    combomeals[], 
} 

new second_array[] = { 
    4, 
    5, 
    6, 
    combomeals[], 
} 

new third_array[] = { 
    7, 
    8, 
    9, 
    combomeals[], 
} 

마지막 목표는 첫 번째 배열을 다른 여러 배열에 배치하는 것입니다. 이것이 의미가 있고 도움이 될 수 있다면 알려 주시기 바랍니다.

감사합니다.

+0

어떤 특정 부분에 문제가 있습니까? –

+0

combomeals []를 다른 배열에 넣습니다. first_array []가 1, 2, 3, 3025101, 3025100, 3003000, 3025002, 3030101, 3025001, 3025000, 3021602, 3031402, 3020100, 3031401, 3031400, 3031302, 3020242, 3031301, 3031300, 3021702 등을 인쇄하려고합니다. , 등등 ... 지금은 구문 오류가 발생합니다. – brandoncluff

+0

오류를 수정하는 것이 좋습니다. –

답변

3

시도하는 방식으로 배열을 확장 할 수 없습니다. new에 정수 유형의 별칭이 지정되었다고 가정하면 컴파일러는 목록의 모든 요소가 동일한 유형 인 경우에만 first_array의 초기화 프로그램 목록을 허용합니다. 그러나 목록의 마지막 요소는 combomeals이 배열이고 combomeals[]이 이니셜 라이저 목록에 속하지 않으므로 구문 오류입니다.

second_arraythird_array에 대해서도 마찬가지입니다. 컴파일러는 긴 소스 라인을 다루는 문제가있는 경우


#define COMBOS \ 
3025101, 3025100, 3003000, 3025002, 3030101, 3025001, 3025000, 3021602, 3031402, 3020100, \ 
3031401, 3031400, 3031302, 3020242, 3031301, 3031300, 3021702, 3021701, 3021700, 3020602, \ 
3021601, 3030100, 3021600, 3021502, 3021501, 3020201, 3021500, 3020150, 3020502, 3020501, \ 
3020500, 3001802, 3001801, 3001800, 3001702, 3001701, 3001700, 3011602, 3011601, 3011600, \ 
3011502, 3020202, 3011501, 3011500, 3011232, 3011231, 3011202, 3011201, 3010602, 3010601, \ 
3010600, 3010902, 3010901, 3010900, 3011102, 3011101, 3011100, 3011002, 3011001, 3011000, 

new combomeals[] = { COMBOS }; 

new first_array[] = { 1, 2, 3, COMBOS }; 
new second_array[] = { 4, 5, 6, COMBOS }; 
new third_array[] = { 7, 8, 9, COMBOS }; 
, 당신은 떨어져 COMBOS을 분할 할 수 있습니다 :

대신 매크로에 combomeals에 숫자를 넣어 비슷한을 수행 할 수 있습니다. 덜 편리하지만 c89 컴파일러는 길이가 509 바이트 인 소스 파일 길이 만 지원하면됩니다.

#define COMBOS1 \ 
3025101, 3025100, 3003000, 3025002, 3030101, 3025001, 3025000, 3021602, 3031402, 3020100, \ 
3031401, 3031400, 3031302, 3020242, 3031301, 3031300, 3021702, 3021701, 3021700, 3020602, \ 
3021601, 3030100, 3021600, 3021502, 3021501, 3020201, 3021500, 3020150, 3020502, 3020501 
#define COMBOS2 \ 
3020500, 3001802, 3001801, 3001800, 3001702, 3001701, 3001700, 3011602, 3011601, 3011600, \ 
3011502, 3020202, 3011501, 3011500, 3011232, 3011231, 3011202, 3011201, 3010602, 3010601, \ 
3010600, 3010902, 3010901, 3010900, 3011102, 3011101, 3011100, 3011002, 3011001, 3011000 

new combomeals[] = { 
    COMBOS1, 
    COMBOS2, 
}; 

new first_array[] = { 
    1, 2, 3, 
    COMBOS1, 
    COMBOS2, 
}; 

/* ...etc... */ 

C 컴파일러가 부적합한 경우 줄을 더 세분화해야 할 수 있습니다.

+0

나는 이것이 효과가있을 것이라고 믿는다 ... 이해를 위해 정말로 고마워 ... 이제 나는 또 다른 문제를 가지고있다. - 6/14 16:42:55 :: LOG - 20130614164255.000 | TEST.p (166) : 오류 075 : 입력 선이 너무 깁니다 (대체 후). 적어도 20 번 이상. 각 줄의 길이를 줄이려고했지만 아무런 차이가 없습니다. 생각? – brandoncluff

+0

각 줄을 한 줄로 제한했지만 여전히 작동하지 않습니다. 1, \ 2, \ 3, \ – brandoncluff

+0

@ Gonzo의 Memoirs : 매크로가 아니라 라인을 분리해야합니다. 매크로는 하나의 긴 줄이됩니다. 내 업데이트 답변을 참조하십시오. – jxh