标签: command-line-arguments

Perl one-liner with -pl命令行选项

我在跑

perl -ple '$_=length' datafile
Run Code Online (Sandbox Code Playgroud)

数据文件包含以下内容:

algorithm
student government
Fiumichino
Run Code Online (Sandbox Code Playgroud)

结果是它打印出来

9
18
10
Run Code Online (Sandbox Code Playgroud)

-p和-l选项有什么作用?还有,是什么$_

perl command-line-arguments

-5
推荐指数
1
解决办法
409
查看次数

在java中获取命令行参数的长度时出错

我是java的新手.在这里,我尝试通过命令行参数找到长度第一个参数"arr [0]".我如何访问arr [0]的每个元素.这是我的计划.第5行引发错误.C

class LengthArr
{
    public static void main(String[] arr)
    {
        int len= arr[0].length;  //Cannot find symble
        System.out.println(arr[0] + "Have length : " + len);
    }
}
Run Code Online (Sandbox Code Playgroud)

java string command-line-arguments

-6
推荐指数
1
解决办法
1070
查看次数

命令行参数的第二个参数采用 char** argv 或 char* argv[] 以外的格式

为了解决我的问题在这里,我想知道是否/如何我可以比在格式定义的命令行参数的第二个变量其他char** argvchar* argv[]原因是 pybind11 不允许函数输入中的任何一个。以下是我尝试过的方法:

方法一:

#include <stdio.h>

int main(int argc, int* argv_){
    for (int i = 0; i < argc; ++i){
        printf("%s\n", (char *)(argv_[i]));
    }
}
Run Code Online (Sandbox Code Playgroud)

这种方法背后的基本原理是指针本质上是一个整数,通过将地址转换为char指针,人们应该能够获得字符串。提前感谢您的支持。

方法二:

#include <stdio.h>
#include <string>

int main(int argc, std::string* argv_){
    for (int i = 0; i < argc; ++i){
        printf("%s\n", argv_[i].c_str());
    }
}
Run Code Online (Sandbox Code Playgroud)

方法三:

#include <stdio.h>
#include <string>
#include <vector>

int main(int argc, std::vector<std::string> argv_){
    for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++ segmentation-fault argv command-line-arguments

-6
推荐指数
2
解决办法
666
查看次数

如果我不给它命令行参数,为什么程序会崩溃?

我做了一个简单的测试程序来玩C++ 11线程.

#include <iostream>
#include <stdlib.h>
#include <thread>
using namespace std;

void tee(int civ)
{
    for(int loop=0; loop<19; loop++, civ++)
    {
        civ = civ%19;
        cout << loop << "\t" << civ << endl;
        this_thread::sleep_for(chrono::milliseconds(300));
    }
}

void koot()
{
    while(true)
    {
        cout << ":) ";
        this_thread::sleep_for(chrono::milliseconds(300));
    }
}

int main(int argc, char *argv[])
{
    thread saie(tee, atoi(argv[1])),
        kamaa(koot);
    saie.join();
    kamaa.join();

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

只要我提供命令行参数,它就可以正常工作,但如果我不提供,它会崩溃.怎么解决这个问题?我尝试检查参数计数,如果它们存在,则无济于事.

编辑:我不得不添加这一行:

if(argc < 2) return 1;
Run Code Online (Sandbox Code Playgroud)

c++ crash command-line command-line-arguments

-13
推荐指数
1
解决办法
1671
查看次数