标签: command-line-arguments

如何将argv [1]传递给一个带0个参数的函数?

我究竟需要做什么才能将argv [1]的内容转换为不使用参数的函数?

这是如何运作的?

const char *cPtr = argv[1];
Run Code Online (Sandbox Code Playgroud)

并将其传递给带有0个参数的someFunction()!

c++ command-line-arguments

0
推荐指数
1
解决办法
3402
查看次数

getopt_long问题

从我正在编写的程序中解析参数时遇到问题,代码如下:

void parse_args(int argc, char** argv)
{
    char ch;
    int index = 0;

    struct option options[] = {       
        { "help", no_argument, NULL, 'h'   },      
        { "port", required_argument, NULL, 'p'  },      
        { "stop", no_argument, NULL, 's' },         
        { 0,    0,    0,    0   }       
    };

    while ((ch = getopt_long(argc, argv, "hp:s", options, &index)) != -1) {
        switch (ch) {
            case 'h':   
                printf("Option h, or --help.\n");
                break;
            case 's':
                printf("Option s, or --stop.\n");

                break;
            case 'p':
                printf("Option p, or --port.\n");
                if (optarg != …
Run Code Online (Sandbox Code Playgroud)

c getopt-long command-line-arguments

0
推荐指数
1
解决办法
877
查看次数

Java args命令行参数 - 尝试将文件名作为args中的参数传递给方法但不起作用

我对Java很新.目前尝试将args []中给出的文件名传递给此FileReader,但是当我编译它时,它说找不到指定的文件.如果我硬编码文件名,它工作正常.这应该是怎么回事?

public class StringSplit
{

   public void parseCommands
   {
     try
     {
       //not working, why? It works if I do FileReader fr= new FileReader("hi.tpl").
       FileReader fr= new FileReader(args);

     }

 public static void main (String[] args)// args holds the filename to be given to FileReader
 {
  if (args.length==0)
   {
     System.out.println("Error: Bad command or filename. Syntax: java [filename.tpl]);
     System.exit(0)
   }
   StringSplit ss= new StringSplit();
   ss.parseCommands();
  }

}
Run Code Online (Sandbox Code Playgroud)

java command-line-arguments

0
推荐指数
1
解决办法
1万
查看次数

为什么命令行参数的字符串比较不起作用?

int main(int argc, char *argv[])
{
    cout << strcmp(argv[1], "id");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它返回false.我错过了什么?

谢谢我让它工作,将在4分钟内接受答复.

c++ command-line-arguments

0
推荐指数
1
解决办法
228
查看次数

参数类型在C程序中有所区别

我有一个主要功能,

int main (int argc, char **argv)
{}
Run Code Online (Sandbox Code Playgroud)

我应该传递两个不同的命令行参数:

argv[1]=IP ADDRESS type
argv[2]=INTEGER type
Run Code Online (Sandbox Code Playgroud)

例如,./a.out IP-ADDRESS INTEGER.我用其他一些脚本调用这个二进制文件.

问题是虽然argv[1]不可用,但它的行为与INTEGER价值一样argv[1].

我怎样才能检查一下,如果argv是类型INT不进入argv[1]或只IP-ADDRESS允许类型argv[1]

c argv command-line-arguments argc

0
推荐指数
1
解决办法
1686
查看次数

从unix命令行运行时,getopt无法正常工作

我写了(从谷歌复制并粘贴并简化)一个C程序,使用getopt打印出从Unix命令行传入的参数值.

从Unix命令行:

./myprog -a 0 -b 1 -c 2
Run Code Online (Sandbox Code Playgroud)

我的C代码是:

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

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

    while ((i = getopt(argc, argv, "abc")) != -1) {
        switch (i) {
            case 'a': 
               printf("A = %s\n", optarg);
               break;

            case 'b': 
               printf("B = %s\n", optarg);
               break;

            case 'c': 
               printf("C = %s\n", optarg);
               break;

            default:
                break;
        }
    }

    return 0;
}    
Run Code Online (Sandbox Code Playgroud)

我想编程打印出传递的每个值,例如

A = 0
B = 1
C = 2
Run Code Online (Sandbox Code Playgroud)

但它根本不打印任何东西.

c unix linux getopt command-line-arguments

0
推荐指数
1
解决办法
2927
查看次数

必须eval是字符串或代码对象吗?

当我运行下面的代码时,我收到以下错误:eval()arg 1必须是字符串或代码对象

谁知道为什么?这是我从一本书中学习的代码,所以我认为它是正确的.

 # Prompt the user to enter three numbers
number1 = eval(input("Enter the first number: "))
number2 = eval(input("Enter the second number: "))
number3 = eval(input("Enter the third number: "))

 # Compute average
average = (number1 + number2 + number3) / 3

print("The average of", number1, number2, number3, "is", average)
Run Code Online (Sandbox Code Playgroud)

python eval command-line-arguments

0
推荐指数
1
解决办法
1万
查看次数

得到args Haskell

我在练习时遇到问题,无法理解错误.它应该是一个简单的args练习:

import System.IO
import System.Environment

main= do
args < - getArgs
nomeficheiro <- return( args !! 0)
putStrnLn ( "Name is" ++ nomeficheiro)
Run Code Online (Sandbox Code Playgroud)

然后我应该运行它:$ ./comando James

错误:

 <interactive>:51:1:
parse error on input ‘$’
Perhaps you intended to use TemplateHaskell
Run Code Online (Sandbox Code Playgroud)

我已经阅读了关于args的其他疑问,我没有找到任何可以帮助我的答案

haskell arguments command-line-arguments

0
推荐指数
1
解决办法
1137
查看次数

为什么命令行参数在Java中作为String数组传递?

在Java中,命令行参数作为String数组传递给我的程序,如下所示:

public static void main(String[] args ) { }
Run Code Online (Sandbox Code Playgroud)

为什么这会使用数组,而不是单个字符串?

我认为如果命令行参数作为单个String传入,它会更灵活/适应性,让我的程序用它做我想要的.使用String数组而不是单个String是否有任何设计优势?

java program-entry-point command-line-arguments

0
推荐指数
1
解决办法
642
查看次数

perl中的GetOptions()不验证完整的参数名称

假设我要输入2个命令行参数 - 源和目标.GetOptions通过仅检查参数名称的第一个字符而不是完整字符串来允许命令行.如何验证完整的参数字符串而不是仅允许其子字符串传递?

这是一个示例程序:

my ($source,$dest);
GetOptions(
'from=s' => \$source,
'to=s' => \$dest
) or die "Incorrect arguments\n";
Run Code Online (Sandbox Code Playgroud)

它接受以下任何一项:

  • -from
  • -fro
  • -fr
  • -f

  • -to

  • -t

但是,我希望它只接受

  • -from
  • -to

如果除了那些完整的词之外的任何东西都通过了

我如何禁止缩写选项?

perl getopt-long command-line-arguments

0
推荐指数
2
解决办法
369
查看次数