【问题标题】:c argv[count]+2c argv[计数]+2
【发布时间】:2016-03-02 21:00:09
【问题描述】:

我有这个代码strncpy(szOutput, argv[count]+2, sizeof(szOutput) - 1);

arvg 是一个字符 **argv。我想知道 +2 代表什么。

谢谢。

【问题讨论】:

  • char ** 不是二维数组。指针不是数组(反之亦然)。
  • @Elizabeth A 这取决于 argv[count] 存储的内容。
  • 我强烈怀疑,这是为了将2 添加到argv[count]
  • 通常这样的代码表示ignore first 2 symbols from string during copy,例如命令行参数通常以--开头,但您只需要实际的参数名称
  • @Lasane 我相信你是对的,因为在此之前它检查前 2 个符号 if ((argv[count][0] == '-') &&((argv[count] [1] == 'b').... 因此,在检查前 2 个符号后复制任何内容都是有意义的。我以前从未见过它。谢谢

标签: c arrays 2d


【解决方案1】:

线路:strncpy(szOutput, argv[count]+2, sizeof(szOutput) - 1);

第二个参数:argv[count]+2

第二个参数的含义。

  1. `argv[count] 它是一个指针,指向从命令行传入的某个 NUL 终止的 char 数组
  2. +2 表示count 选择的数组中第三个字符的地址

【讨论】:

    猜你喜欢
    • 2015-12-21
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多