C 如何通过使用和创建函数来计算命令行参数中的字符数
我很难理解如何创建一个函数来计算命令行参数中的字符数。它只需要在“my_strlen()”函数中计算结果,但需要在main()中打印结果。 我对C非常陌生,但这里是我迄今为止的代码C 如何通过使用和创建函数来计算命令行参数中的字符数,c,command-line-arguments,argv,strlen,C,Command Line Arguments,Argv,Strlen,我很难理解如何创建一个函数来计算命令行参数中的字符数。它只需要在“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
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)的值,以便稍后将其作为自己的整数调用。试试这个简单的代码
#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;
}
#包括
#包括
int my_strlen(char*string)//用于计算给定字符串长度的函数
{
int i;
for(i=0;字符串[i]!='\0';i++);
返回i;
}
int main(int argc,char*argv[])
{
整数长度;
if(argc!=2)//检查命令行参数的数量
{
printf(“必须使用参数\n运行此程序”);
返回2;
}
其他的
{
length=my_strlen(argv[1]);//计算字符串长度的函数
printf(“命令行参数的长度为:%d\n”,长度);
}
返回0;
}
试试这个简单的代码
#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;
}
#包括
#包括
int my_strlen(char*string)//用于计算给定字符串长度的函数
{
int i;
for(i=0;字符串[i]!='\0';i++);
返回i;
}
int main(int argc,char*argv[])
{
整数长度;
if(argc!=2)//检查命令行参数的数量
{
printf(“必须使用参数\n运行此程序”);
返回2;
}
其他的
{
length=my_strlen(argv[1]);//计算字符串长度的函数
printf(“命令行参数的长度为:%d\n”,长度);
}
返回0;
}
其中是string
在main()
中,您应该使用strlen(argv[1])代码>。代码中还有其他几个错误:if(argv!=2)
应该是if(argc!=2)
并且没有按名称命名的库函数strcopy
,我猜它被称为strcpy
@CodyGray C ommand L L L argument。但是这个问题仍然很令人困惑。同样对于if(argv!=2)
你的意思是argc
不是argv
?@CodyGray:OP试图构建自己的缩写,这是命令行参数,你有一些范围问题要开始——当它在其他函数中定义时,你主要使用string
,并且argv[1]
仅在main中声明时在其他函数中。尝试将argv[1]
传递给函数,该函数依次计算字符数组的长度。在main()
中的string
中,应使用strlen(argv[1])代码>。代码中还有其他几个错误:if(argv!=2)
应该是if(argc!=2)
并且没有按名称命名的库函数strcopy
,我猜它被称为strcpy
@CodyGray C ommand L L L argument。但是这个问题仍然很令人困惑。同样对于if(argv!=2)
你的意思是argc
不是argv
?@CodyGray:OP试图构建自己的缩写,这是命令行参数,你有一些范围问题要开始——当它在其他函数中定义时,你主要使用string
,并且argv[1]
仅在main中声明时在其他函数中。尝试将argv[1]
传递给函数,该函数反过来计算字符数组的长度。谢谢,我想我基本上理解了这是如何工作的。但是我对string[I]
的工作原理有点困惑?string[I]
将在I
th位置为您提供string
中的字符。谢谢,我想我基本上理解了它的工作原理。但是我对string[I]
的工作原理有点困惑?string[I]
将在I
th位置为您提供string
中的字符。