【发布时间】:2020-01-17 11:37:37
【问题描述】:
假设我有这个 c++ 代码,我编译成一个可执行的 out.exe
int main(){
int a = 0;
cin>>a;
if (a)
cout<<"done";
return 0;
}
通常我会使用命令行输入它的名字来执行它,然后它会等待我的输入。
但是,我希望它在我调用可执行文件的同一行中传递输入,如下所示:
out.exe 1
1 是输入,因此程序不会等待我的输入并直接输出:
done
【问题讨论】:
-
您只能输入一个字符数组。
-
您要查找的内容称为“输入流重定向”或“输入流管道”。我不确定它在 windows 下是如何工作的,应该类似于
echo 1 | out.exe -
还有一个选项可以使用命令行参数。如果您将
main签名更新为int main(int argc, char** argv),argv将是一个包含您在out.exe之后提供的所有参数的 c 字符串数组,argc将是他们的计数
标签: c++ cmd command-line