2014-08-30 3 views
0

명령 줄 인수의 문자를 계산하는 함수를 만드는 방법을 이해하는 데 문제가 있습니다. 'my_strlen()'함수에서 결과를 계산하기 만하면 main()에서 결과를 출력해야합니다. 저는 C에서 매우 익숙하지만, 지금까지 제 코드를 보았습니다. 당신이 볼 수있는함수를 사용하여 명령 줄 인수의 문자 수를 계산하는 방법

int my_strlen( char string[]); 
{ 
    strcpy(string, argv[1]; 
    return 1; 
} 
int main(int argc, char *argv[]) 
{ 
    if(argv != 2) 
    { 
    printf("You must run this program with an argument\n"); 
    return 2; 
    } 
    printf("%d", strlen(string); 
    return 0; 
} 

그래서, 나는 또한 자체 정수로 나중에 전화 나 strlen (문자열)의 값을 저장하는 방법을 알고하지 않은, 꽤 혼란 스러워요.

+0

여기서'main()'에는'string'이 있는데,'strlen (argv [1]);'을 사용해야합니다. 'if (argv! = 2)'는'if (argc! = 2)'이어야하고'strcopy'라는 이름으로 라이브러리 함수가 없으면'strcpy'라고합니다. –

+2

CLA 란 무엇입니까? –

+0

@CodyGray ** C ** ommand ** L ** ine ** ** 참고 사항. 그러나 문제는 여전히 꽤 혼란 스럽습니다. –

답변

1

간단한 코드를 사용해보십시오.

#include <stdio.h> 
#include <string.h> 
int my_strlen(char *string) //Function to calculate length of given string 
{ 
    int i; 
    for(i=0;string[i]!='\0';i++); 
    return i; 
} 
int main(int argc, char *argv[]) 
{ 
    int length; 
    if(argc != 2) //Check the number of command line arguments 
    { 
    printf("You must run this program with an argument\n"); 
    return 2; 
    } 
    else 
    { 
    length = my_strlen(argv[1]); //Your function to calculate length of string 
    printf("Length of command line argument is: %d\n", length); 
    } 
    return 0; 
} 
+0

감사합니다. 나는 이것이 어떻게 작동하는지 대부분 이해합니다. 그러나 나는 'string [i]'가 어떻게 작동하는지 조금은 혼란 스럽습니다. –

+0

'string [i]'는'i' 번째 위치의'string' 문자를줍니다. – user1336087

+0

@XavierDass : 친절한 말 주셔서 감사합니다. 천만에요 :) – user1336087