【发布时间】:2014-10-24 02:12:06
【问题描述】:
我无法理解如何创建一个函数来计算命令行参数中的字符数。它只需要在“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(string) 的值以便以后将其作为自己的整数调用。
【问题讨论】:
-
string在main()中的位置,您应该使用strlen(argv[1]);。并且代码中还有其他几个错误:if(argv != 2)应该是if(argc != 2)并且没有名称为strcopy的库函数,它被称为strcpy。 -
@CodyGray C ommand L ine A 参数,我猜。但是这个问题仍然很令人困惑。
-
还有
if(argv != 2),你的意思是argc不是argv? -
@CodyGray : OP 试图构建他自己的缩写,它是命令行参数
-
好吧,你有一些范围问题要开始——当它在另一个函数中定义时,你在 main 中使用
string,当它只在 main 中声明时,在另一个函数中使用argv[1]。尝试将argv[1]传递给函数,该函数依次计算字符数组的长度。
标签: c command-line-arguments argv strlen