簡體   English   中英

請幫助,使用%echo參數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM