创建 - *选项,处理程序参数

时间:2018-03-27 12:49:04

标签: c

我试图创建一个程序(在c中),它有2个选项,在块级别读取和写入NFC,然后从我的Raspberry Pi编译/执行它(即从终端/ bash)。

我在这个计划中想要达到的目标是这样的:

  • ./ ProgName -r /file.txt

读取NFC并将输出发送到file.txt

  • ./ ProgName -w /file.txt

将文件复制到NFC.txt

我的问题是:我如何创建" -r"和" -w"选项?

我不知道他们叫什么,他们是如何编译/制作/创建的。我有一个模糊的想法,它是关于argc / argv的,但我不确定。

1 个答案:

答案 0 :(得分:2)

argc是命令行参数的数量(包括程序调用),*argv[]是指向参数的指针。

换句话说,考虑命令行./ProgName -r /file.txt

  • argc是3
  • argv[0]是" ./ ProgName"
  • argv[1]是" -r"
  • argv[2]是" /file.txt"

显示所有命令行参数的最小程序可以是:

#include <stdio.h>

int main(int argc, char *argv[])
{
    for(int i = 0; i < argc; i++)
    {
        printf("argv[%d] = %s\n", i, argv[i]);
    }
    return 0;
}