gpt4 book ai didi

linux - 请帮助,使用 %echo 参数

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:54 24 4
gpt4 key购买 nike

我有一个问题,如何使用 echo 来补充输入并告诉程序要给出多少输出。

基本上,我已经整理好了程序逻辑,即从 y 输入中随机选择 x 数字的子集。我的代码在这里:

问题是,如何将主参数中的argc变量转发给程序执行?

上下文要求我调用:%echo A B C D E F G |子集 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 A B C D E F G | ./Subset 2

假设您的程序名为 Subset 并且位于当前工作目录中。然后,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 是非常不典型的。

关于linux - 请帮助,使用 %echo 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15987576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com