【问题标题】:to parse command line arguments in c++ class在 C++ 类中解析命令行参数
【发布时间】:2016-01-31 02:01:47
【问题描述】:

我是 C++ 新手,我将在我的类中添加一些可以在控制台应用程序中运行的函数。例如,如果我添加 /pstat -help 它运行 info();功能..和类似的东西.. 我已经搜索了很多关于 c++ 的信息,但没有任何帮助或示例。您能给我一些提示吗?

我在main()中试过这个方法

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


 if (argv== "-info"){
 info();
 return 1;
 }else{
 pidstat(argc, argv);
 }

 return 0;

}

我希望用户输入 ./procstat -info 它运行 info() 并且当用户输入 ./procstat 1 它运行 pidstat(argc, argv); 这怎么可能? 谢谢

【问题讨论】:

  • 完全不清楚你在问什么。有哪些功能?出于什么目的?在哪里?
  • 有什么问题?您是否在问如何解析命令行参数并让您的程序根据这些参数执行不同的操作?你从哪里得到这个巨大的代码转储?
  • @cad 我已经更新了我的问题..抱歉我的问题不清楚
  • @LightnessRacesinOrbit 抱歉,我已经更新了我的问题..这正是你所说的......谢谢
  • Input from command line的可能重复

标签: c++


【解决方案1】:

参数argv 使用C-Style 字符串,因此您无法使用operator== 进行比较。

要么使用 C 风格的字符串函数 strcmp, strncmp, str*(),要么转换为 std::string 并使用比较运算符。

仅供参考,您实际上是在比较指针中的值,而不是它们指向的内容。

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 2017-08-31
    • 2010-10-26
    • 2021-07-27
    相关资源
    最近更新 更多