【问题标题】:Arguments in command line [closed]命令行中的参数[关闭]
【发布时间】:2014-04-12 21:57:03
【问题描述】:

为什么我们需要像 c 编程语言中的 argv 和 argc 这样的机制?

这个机制是如何实现的?

main(argc, argv) int argc; char *argv[];
{ 
   int i;
   for (i=1; i < argc; i++) 
      printf("%s%c", argv[i], (i < argc-1) ? ' ':'\n');
}

【问题讨论】:

  • 你可能想了解一些关于 shell 中命令的知识...
  • 参数很有用,因为它们允许启动流程的一方将信息传递给流程。

标签: c command-line-arguments argv argc


【解决方案1】:

首先,现代 C 语言应该是这样的:

#include <stdio.h>
int main(int argc, char *argv[]) { 
  int i;
  for (i=1; i < argc; i++) {
    printf("%s%c", argv[i], (i < argc-1) ? ' ':'\n');
  }
  return 0;
}

为了回答您的问题,命令行参数只是为程序提供输入的另一种方式(以及标准输入流和环境变量)。它允许您将程序输入(stdin)与程序选项(命令行标志)分开

【讨论】:

  • 我认为现代 C 也可以使用 for (int i=1; ... 而不是 int i; (for i=1; ...
  • 人们仍在使用 c89 编译器。我认为微软的 C 编译器直到几年前才支持 c99。
猜你喜欢
  • 2010-10-26
  • 2019-02-07
  • 2013-06-22
  • 2015-02-19
相关资源
最近更新 更多