Jat*_*rya 0 c argv command-line-arguments argc
我有一个主要功能,
int main (int argc, char **argv)
{}
Run Code Online (Sandbox Code Playgroud)
我应该传递两个不同的命令行参数:
argv[1]=IP ADDRESS type
argv[2]=INTEGER type
Run Code Online (Sandbox Code Playgroud)
例如,./a.out IP-ADDRESS INTEGER.我用其他一些脚本调用这个二进制文件.
问题是虽然argv[1]不可用,但它的行为与INTEGER价值一样argv[1].
我怎样才能检查一下,如果argv是类型INT不进入argv[1]或只IP-ADDRESS允许类型argv[1]?
小智 5
传递给main函数的char**argv变量不仅仅是一个" arguments "数组,它是一个char*数组,只包含你在shell中输入的以null结尾的字符串.
作为一个例子,调用你的程序./a.out 127.0.0.1 12将使argv看起来如下:
argv[0] = "./a.out\0"
argv[1] = "127.0.0.1\0"
argv[2] = "12\0"
argv[3] = NULL
你需要制作一些代码来转换和存储argv中的字符串,以便按照你想要的方式处理它们.