[英]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.