gpt4 book ai didi

c++ - C++中客户端程序的可选命令行参数

转载 作者:行者123 更新时间:2023-11-28 03:24:44 26 4
gpt4 key购买 nike

我必须修改这段需要 2 个命令行参数的代码

  if (argc == 3){
host = argv[1];
port = atoi(argv[2]);
else {
fprintf(stderr, "usage error: incorrect number of arguments\n");

有 3 个任意顺序的可选命令行参数(用户名、服务器主机号、服务器端口号)。我是这样写的,但它不起作用。有人能帮我弄清楚该怎么做吗.谢谢

  if (argc<1 || argc>4)
fprintf(stderr, "usage error: incorrect number of arguments\n");
else
for(int i=1;i<=argc;i++)
{
if (strcmp( argv[i],"-u"==0 )
username=argv[i];
if(strcmp(argv[i],"-p"==0)
port=atoi(argv[i]);
if (strcmp(avrgv[i],"-h"==0)
host=(argv[i]);

最佳答案

使用getopt ,它专为以一致的方式处理命令行参数而构建,这是众所周知的难以正确完成的事情。

关于c++ - C++中客户端程序的可选命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com