首页 > 解决方案 > 终端/Shell 脚本:如何在一行中传递多个参数?

问题描述

假设我有一个 C++ 文件的三个输入。当我 g++ 文件然后 ./a.out 在终端中运行它时。然后我需要在 Visual Studio 代码的终端中输入参数。

通常我必须输入第一个输入然后按回车,然后第二个输入并再次按回车,最后是第三个输入然后按回车。

有没有办法让我只在一行中输入所有内容,让终端明白我刚刚输入了每个变量的值?

下面是代码示例

所以我的 C++ 文件有这个:

int main(){
//number of exams
int n;
std::cin >> n;

//Days of where the exam take place
std::vector<int> examDay;
int examdays;
while(examDay.size() < n ){
    std::cin >> examdays;  
    examDay.push_back(examdays - 1);
}

//Days required to prep exam
std::vector<int> prepDay;
int examprep;
while(prepDay.size() < n ){
    std::cin >> examprep;  
    prepDay.push_back(examprep + 1);
}

以上是我的代码所需的所有输入,现在,当我需要运行代码来测试它时,我执行以下操作:

g++ {filename}
./a.out
3
5 6 7
3 2 0

有没有办法让我只在一行中输入 3、5 6 7 和 3 2 0,然后按 Enter 来测试我的代码?

标签: shellvisual-studio-codezsh

解决方案


感谢 Joseph Sible-Reinstate Monica 在上述评论部分回答我的问题。简而言之,我只需要在一行中输入所有内容。


推荐阅读