我想编写一个程序以从命令行接收参数。这就像一种atof()。

我的程序去了:

  9     char s[] = "3.1415e-4";
 10     if (argc == 1) {
 11         printf("%e\n",atof(s));
 12     }
 13     else if (argc == 2) {
 14         //strcpy(s, argv[1]);
 15         printf("%e\n",atof(argv[1]));
 16     }


1.我应该只使用argv [1]将该字符串传递给我的atof(),还是将其放入s []中?

2.如果最好将它放在s []中,是否有一些内置函数可以完成此“放置”工作?也许像strcpy()这样的函数?

谢谢。

最佳答案

我个人会这样做:

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
  const char defaultStr[]="3.1415e-4";
  const char *arg = NULL;
  if(argc <= 1)
  {
     arg = defaultStr;
  }
  else
  {
     arg = argv[1];
  }

  printf("%e\n", atof(arg));

  return 0;
}

关于c - 如何在C中从命令行接收arg,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3053287/

10-09 03:58