c - 在 C 程序中读取命令行参数

标签 c command-line-arguments

它所做的是将参数 ./a.out -b 101 转换为十进制数 5,但我想做的只是将 101 转换为二进制数,如果我给它参数 -b

#include <stdio.h>
void main(int argc, char *argv[])
{
  if ((argc == 3) && (argv[2] == "-b") ) //here lies the problem
  {
    int n = 0;
    char *c_pt = argv[2];

    printf("argv[1]: %s\n", argv[1]);
    while (*c_pt)
    {
      if (*c_pt < '0' || *c_pt > '1')
      {
        break;
      }
      n = n * 2 + *c_pt - '0';
      c_pt++;
    }
    printf("%d\n", n);

  }
}

最佳答案

在 C 中你需要调用 strcmp(3)比较字符串。

关于c - 在 C 程序中读取命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688853/

相关文章:

c - 如何确定数字是圆/整数还是浮点/ double

c - 我将如何在同一个 .dat 文件中保存和读取一个整数然后是一个结构数组?

c - 冒泡排序示例

bash - exec.Cmd让我发疯

c - 我需要用 C 语言编写一个程序,它接受命令行输入,将其放入字符串数组中,然后反向打印该数组/打印

macos - AppleScript as .app 不从命令行获取参数

mysql - 无法连接到 'localhost' (111) 上的 MySQL 服务器

c - 由 Matlab Coder 生成的名为 i386 的变量

在c中捕获 "stdin redirected file location string"

c - c 中的多功能实用程序问题。