簡體   English   中英

確定應用程序順序的最佳方法是什么?

[英]Best way to determine what order was given to my application?

我想編寫一個等待用戶下達命令的計算器。
例如:
加1 2
子12 4
找出用戶給出的訂單以及該訂單之后給出的令牌的最佳方法是什么?
我正在Windows上用C編寫我的項目,它是基於控制台的。

您可以使用scanf

#include <stdio.h>

int main ()
{
    char cmd[1024];
    int a, b;

    printf ("Enter input: ");
    scanf ("%s %d %d",cmd, &a, &b);  
    if(strcmp(cmd,"add")==0) {
        printf ("Result: %d\n", a + b);
    } else if(strcmp(cmd,"sub")==0) {
        printf ("Result: %d", a - b);
    } else {
        printf ("Unrecognized command: '%s'\n", cmd);
    }
}

如果您計划構建一個復雜的庫,則應該查看lex和yacc

從標准輸入讀取行。 fgets可能有用。
解析每一行。 strtok_r可以在這里提供幫助(我總是更喜歡strtok ,而strtok會在事情變得復雜時導致討厭的錯誤)。
將第一個標記與已知命令列表中的每個命令進行比較。
做需要做的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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