如何處理可變數量的scanf輸入? 我正在掃描命令,其中一些是1.字命令,但一些需要數字參數。 scanf是否允許以下內容?可變的scanf輸入
scanf(" %s %d", command, argument);
如果只輸入一個值,會忽略「參數」嗎? 另一種選擇我雖然之一是
scanf(" %s", command)
if (strcmp(command, "somethin") {
scanf("%d", argument); }
但是,這將創建一個新行權?終端必須以「>命令參數」 的形式接收輸入,我的問題是,如何解決具有可變數量輸入的問題。
第一個將等待你輸入一個參數。用'fgets()'讀一行,然後用'sscanf()'來解析它。 – Barmar
您也可以閱讀該行,然後使用'strtok()'將其分割爲令牌,然後解析。 – Barmar
你幾乎肯定要讀整行然後處理該行 –