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