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

标签 c

<分区>

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

我想在这个程序中实现的是这样的:

  • ./ProgName -r/file.txt

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

  • ./ProgName -w/file.txt

将file.txt中的内容复制到NFC

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

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

最佳答案

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;
}

关于创建 -* 选项,处理程序参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49513307/

相关文章:

c - 在运行时将 char[x] 调整为 char[y]

c - C 低通滤波器

阻塞操作的成本随着线程数量的增加而增加

C 指针数组和 malloc

c - gcc 5编译fork()返回父pid 0吗?

c - 改进 C 代码以消除复制粘贴

c - 取消引用指针错误

python - 如何捕获麦克风缓冲区原始数据?

c - Scanf 返回意外值

c - 如何从文件中读取字符串并将其标记为数组?