使用命令行将二维数组传递给C++

NKS*_*NKS 1 c++ arrays command-line

我有一个要求,我需要从命令行调用C++应用程序,并需要传递一个int类型的二维数组.任何人都可以让我知道如何做到这一点,以及如何使用argv参数在C++应用程序中解释它

提前致谢.

Kir*_*rov 6

argv你只能传递包含字符串的一维数组时,它就是

char* argv[]
Run Code Online (Sandbox Code Playgroud)

所以,你不能真正传递2D数组,但你可以"模拟"它.

例如,传递2个参数,说明矩阵的大小 - 行数和列数,然后逐个传递所有元素.

然后解析程序中的参数,知道您将使用哪种格式.


例如:如果你想通过

1 2 3
4 5 6
Run Code Online (Sandbox Code Playgroud)

你可以像这样运行你的程序:

./my_program 2 3 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

这样,您就会知道,从左上角开始,这argv[1]是行数,argv[2]s列数以及2D数组的所有元素.

不要忘记,这argv是包含char*指针的数组.换句话说,您需要转换所有参数int.