在Unix终端中打开程序时,是否有办法使程序名及其输入在同一行上? 我有一个C++程序,它接受三个输入:一个整数,一个整数,一个高度,一个文件名。现在,我编译并运行程序如下(假设我将其命名为prog):

在Unix终端中打开程序时,是否有办法使程序名及其输入在同一行上? 我有一个C++程序,它接受三个输入:一个整数,一个整数,一个高度,一个文件名。现在,我编译并运行程序如下(假设我将其命名为prog):,c++,unix,terminal,C++,Unix,Terminal,这将导致成功输出,但程序说明中指出正确的命令行语法为: >prog w h filename 就这么说。这是否意味着我的程序应该能够从同一行开始?可能这意味着您在键入程序名后按enter键,但如果没有,是否有办法实际执行此操作?您的程序需要解析命令行参数。查看规范,预期的工作流是 >prog 128 128 output.ppm //hit enter after the parameters 查看了解更多信息。您的程序需要解析命令行参数。查看规范,预期的工作流是 >pro

这将导致成功输出,但程序说明中指出正确的命令行语法为:

>prog w h filename

就这么说。这是否意味着我的程序应该能够从同一行开始?可能这意味着您在键入程序名后按enter键,但如果没有,是否有办法实际执行此操作?

您的程序需要解析命令行参数。查看规范,预期的工作流是

>prog 128 128 output.ppm
//hit enter after the parameters

查看了解更多信息。

您的程序需要解析命令行参数。查看规范,预期的工作流是

>prog 128 128 output.ppm
//hit enter after the parameters

查看了解更多信息。

您可以通过主函数中的参数传递命令:

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

argc
是参数数,
argv
是参数数组。

您可以通过主函数中的参数传递命令:

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

argc
是参数数,
argv
是参数数组。

您处理问题的方法不正确。程序启动后,您将通过
std::cin
获取输入。您的程序规范规定输入应作为命令的一部分给出。考虑一个命令,例如“代码> ls -L/<代码> -<代码> -L/COD>是命令的一部分,并传递给程序进行解析和动作。

您需要允许运行类似于
prog 128 output.ppm
的命令,以便用户键入该命令,然后按enter键运行程序。如何访问C++程序中的命令行参数?这就是
main
函数的
argc
argv
参数的作用。您的主要功能应该如下所示:

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

argc
参数为您提供在命令行中传递的参数数量(在给出的示例中为4个),这也是
argv
数组的大小。每个元素都是来自命令的参数。例如,
argv[0]
将是
“prog”
argv[1]
将是
“128”
,依此类推。您需要解析这些值,并根据它们的值更改程序的功能。

您处理问题的方法不正确。程序启动后,您将通过
std::cin
获取输入。您的程序规范规定输入应作为命令的一部分给出。考虑一个命令,例如“代码> ls -L/<代码> -<代码> -L/COD>是命令的一部分,并传递给程序进行解析和动作。

您需要允许运行类似于
prog 128 output.ppm
的命令,以便用户键入该命令,然后按enter键运行程序。如何访问C++程序中的命令行参数?这就是
main
函数的
argc
argv
参数的作用。您的主要功能应该如下所示:

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

argc
参数为您提供在命令行中传递的参数数量(在给出的示例中为4个),这也是
argv
数组的大小。每个元素都是来自命令的参数。例如,
argv[0]
将是
“prog”
argv[1]
将是
“128”
,依此类推。您需要解析这些值,并根据它们的值更改程序的功能。

在第一个示例中,运行
main
,然后等待用户输入。在第二个示例中,操作系统运行
main
,并向其传递三个参数,
“w”
“h”
,和
“filename”
;如果必须通过STDIN提供,您可以始终使用类似于
echo 128 output.ppm | prog
的东西。在第一个示例中,运行
main
,然后等待人们输入。在第二个示例中,操作系统运行
main
,并向其传递三个参数,
“w”
“h”
,和
“filename”
;如果必须通过STDIN提供,您可以始终使用类似于
echo 128 output.ppm | prog