标签: command-line

C程序通过命令行传递参数

我正在尝试创建一个非常简单的程序,它包含两个.c文件 - main.c和foo.c.

目标是链接这两个文件,并将参数传递给main.c方法,然后调用foo.c文件中的方法foo().

main.c的代码是:

#include <stdio.h>
#include "foo.h"

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

    foo(argv[1]);


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

和foo.c是:

#include <stdio.h>
#include "foo.h"

void foo(char *input[]) {

    printf("Welcome, %s\n", input);
}
Run Code Online (Sandbox Code Playgroud)

我还有一个头文件,foo.h,它只有一行:void foo(char*input []);

当我尝试使用构建和运行文件时

gcc -o main main.c foo.c foo.h
Run Code Online (Sandbox Code Playgroud)

我收到了错误

main.c: In function ‘main’:
main.c:6:2: warning: passing argument 1 of ‘foo’ from incompatible       pointer type [enabled by default]
foo(argv[1]);
^
In file included from main.c:2:0:
foo.h:1:6: note: expected ‘char **’ but argument is of type ‘char *’ …
Run Code Online (Sandbox Code Playgroud)

c command-line

-3
推荐指数
1
解决办法
66
查看次数

如何在Windows命令提示符下运行python文件?

我想在命令提示符下运行python文件,但它什么都不做.这些是我正在测试的程序的屏幕截图和命令提示符给出的输出. 在此输入图像描述

在此输入图像描述

python command-line command cmd python-2.7

-3
推荐指数
1
解决办法
7万
查看次数

需要'nokogiri'时找不到"require"命令

安装了Homebrew,ruby 2.0.0p648,nokogiri 1.6.7.2.当需要'nokogiri'时出现错误:

-bash: require: command not found
Run Code Online (Sandbox Code Playgroud)

怎么了?

ruby bash command-line nokogiri

-4
推荐指数
1
解决办法
2178
查看次数

从Perl脚本中的命令行提取作为参数给出的名称

我是脚本语言的新手,我有一个任务,说我需要从erl命令行中的给定参数中提取名称.

我这样调用Perl脚本

./perl.plx file.txt
Run Code Online (Sandbox Code Playgroud)

我只需得到那个file名字,而不是整个名字file.txt

bash shell perl command-line command-line-arguments

-4
推荐指数
1
解决办法
308
查看次数

为什么++**++ argv的printf输出'p'?

#include<stdio.h>
int main(int argc,char *argv[]) {
    printf("%c",++**++argv);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

假设传递的命令行参数是:

./a.out one two three
Run Code Online (Sandbox Code Playgroud)

输出是:

p
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下发生了什么吗?

c command-line

-4
推荐指数
1
解决办法
91
查看次数

"perl"命令有什么意义?

当我输入perl任何命令提示符(当然在系统上安装了Perl)时,没有真正发生的事情.perl在命令提示符下使用有什么意义?与,和命令不同python,它似乎无能为力.luaruby

如果它确实做了什么,它是什么,你如何使用它?

perl command-line cmd

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

"public static void(string [] args)"的含义

不熟悉java编程和初学者,特别是看看命令

public static void main(String[] args)

什么public static void意思?什么术语args意味着什么?

java command-line

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

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

我做了一个简单的测试程序来玩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
查看次数