繁体   English   中英

读取具有各种参数的用户输入

[英]Reading user input with various parameters

我正在尝试读取将作为命令接收的用户输入,并将基于该输入执行某些方法。 例如,输入可以是:

allocate 3
write 3 ABC 10
quit

输入的每个部分对于它们各自的方法都是至关重要的参数。 我一直在尝试找出如何使用scanf()fgets()来解决输入中的变化。

结合使用fgets()strtok() ,您可以得出以下结论

#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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM