[英]Please help, use of %echo argument
我有这个问题,如何使用echo补充输入并告诉程序要输出多少输出。
基本上,我已经整理出程序逻辑,这是从y输入中随机选择x个数字的子集。 我的代码在这里:
问题是,如何将main参数中的argc变量转发给程序执行?
上下文需要我致电:%echo ABCDEFG | 子集2,假定随机打印2个字符。 但是我不能这样做,数字2似乎无法在此处转发。 而且%echo命令的调用似乎也不起作用。 有人请帮忙
int main(int argc){
RandomizedQueue<char> q;
char input;
while(cin.peek() != '\n'){
cin >> input;
q.enqueue(input);
}
for(int k = 0; k < argc; k++)
cout << q.dequeue() << endl;
return 0;
}
我认为%echo
中的%echo
不是您应该键入的内容,而是表示命令提示符本身。 所以您输入:
echo A B C D E F G | ./Subset 2
假设您的程序名为Subset,并且位于当前工作目录中。 然后,子集将接收argc == 2和argv == {“ ./ Subset”,“ 2”}。 您需要以标准方式声明main(缺少argv):
int main(int argc, char* argv[])
完成后,argv [1]将作为字符串“ 2”(程序的第一个参数)。 您可以执行以下操作将其转换为int:
int count = atoi(argv[1]);
您应该阅读main的声明,因为argc不是作为数字的参数,而是参数的数量。 用argc而不是argv声明main是非常不典型的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.