2014-08-30 17 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'。 – 2014-08-30 04:02:34

+2

什么是CLA? – 2014-08-30 04:03:41

+0

@CodyGray ** C ** ommand ** L ** ine ** A **参数,我猜。但问题仍然很混乱。 – 2014-08-30 04:04:17

回答

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]'如何工作有点困惑? – 2014-08-30 04:49:11

+0

'string [i]'会在第''位置给你'string'中的字符。 – user1336087 2014-08-30 04:53:06

+0

@XavierDass:谢谢你的客气话。不用谢 :) – user1336087 2014-08-30 04:58:46