加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

C编辑char * argv []的元素

发布时间:2020-12-13 19:02:24 所属栏目:Linux 来源:网络整理
导读:大家都知道这个功能: int main(int argc,char* argv[]){} 我想在Linux中为我的程序编写命令行界面,通常由getopt_long()完成 我的程序将从命令行执行,如下所示: pop3 get --limit 25 --recent 因此,argv []将包含pop3作为其程序名称,其余的被视为选项. 我想

大家都知道这个功能:

int main(int argc,char* argv[])
{

}

我想在Linux中为我的程序编写命令行界面,通常由getopt_long()完成

我的程序将从命令行执行,如下所示:

pop3 get --limit 25 --recent 

因此,argv []将包含pop3作为其程序名称,其余的被视为选项.
我想从我的字符串中删除pop3并将其后的第一个标记设置为数组的第一个元素.除了循环之外,有没有办法做到这一点?

最佳答案
只需递增argv指针,然后递减argc.
例:

int main(int argc,char *argv[])
{
    argc--;
    argv++;

    return 0;
}

这是有效的,因为当你增加argv时,你仍然拥有内存中的先前数据,只是argv的基地址已经增加.你减少了argc,因为你现在少了一个论点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读