2016-09-16 13 views
-1

코드 CONST CHAR 파싱는 *는 argv []

그러나 상기 광고는 정수 배열을 얻는 방법, 널 인쇄되고;

+0

여기에는 두 가지 질문이 있습니다. 1. 코드 문제 2. 알고리즘 문제. 두 가지를 각각 해결해야합니다. 그 질문은 너무 광범위합니다 ("이 과제를 저에게 쓰십시오"). – Sulthan

+0

"입력"및 "출력"예제는 의미가 없습니다. – Sulthan

+0

질문이 업데이트되었습니다. – Vizllx

답변

0

argv[0]은 프로그램의 이름입니다. 매개 변수를 읽으려면 argv[1]으로 시작하십시오. 물론 argc > 1을 사용하는 매개 변수가 실제로 있는지 확인해야합니다.

아니면 [[NSProcessInfo processInfo] arguments]

int main(int argc, const char* argv[]){ 
    @autoreleasepool { 
     for (NSInteger i = 0; i < argc; i++) { 
      NSString *stringArgument = [NSString stringWithFormat:@"%s", argv[i]]; 
      NSLog(@"%@", stringArgument); 
      NSLog(@"Integer value: %i", [stringArgument intValue]); 
     } 
    } 

    return 0; 
} 

또는

int main(int argc, const char* argv[]){ 
    @autoreleasepool { 
     for (NSString *argument in [NSProcessInfo processInfo].arguments) { 
      NSLog(@"%@", argument); 
      NSLog(@"Integer value: %i", [argument intValue]); 
     } 
    } 

    return 0; 
} 

인수를 사용할 수 있습니다 10 20

출력 :

ObjcTest [65709 : 1964435]/프로젝트/ObjcTest/빌드/P 는 roducts/디버그/ObjcTest
ObjcTest을 [65,709 : 1,964,435] 정수 값 : 0
ObjcTest [65,709 : 1,964,435 10
ObjcTest [65,709 : 1,964,435] 정수 값 : 10
ObjcTest [65,709 : 1,964,435 20
ObjcTest [65,709 : 1,964,435] 정수 값 : 20

주 첫 번째 인수는 정수로 변환 할 수없는 따라서 인쇄 0 값이다.

+0

작동하지 않습니다! ............ – Vizllx

+0

@Vizllx 잘 작동합니다. – Sulthan