使用各种参数读取用户输入

时间:2017-02-26 23:44:30

标签: c io user-input scanf fgets

我试图读取将作为命令接收的用户输入,并且将根据输入执行某些方法。例如,输入可以是:

allocate 3
write 3 ABC 10
quit

输入的每个部分都是各自方法的关键参数。我一直试图弄清楚如何使用scanf()fgets()来解释输入的变化。

1 个答案:

答案 0 :(得分:1)

结合使用LicenseBuilderfgets(),你可以得到这样的结果:

#include <stdio.h>
#include <string.h>

int main(void)
{
   char mystring [100];
   char *pch;
   while( fgets (mystring , 100 , stdin) ) /* break with ^D or ^Z */
   {
       //puts (mystring);
       pch = strtok (mystring," ,.-");
        while (pch != NULL)
        {
            // do someting with pch, check if it's a command or an argument
            printf ("%s\n",pch);
            pch = strtok (NULL, " ,.-");
        }
   }
   return 0;
}

输出:

write 3 ABC 10

write
3
ABC
10