2017-02-26 6 views
0

명령으로 받아 들여질 사용자 입력을 읽으려고하고 있으며 입력에 따라 특정 방법이 실행됩니다. 예를 들어 입력은 다음과 같을 수 있습니다.다양한 매개 변수를 사용하여 사용자 입력 읽기

allocate 3 
write 3 ABC 10 
quit 

입력의 각 부분은 각각의 방법에 중요한 매개 변수입니다. 나는 입력의 변화를 설명하기 위해 scanf()fgets()을 사용하는 방법을 알아 내려고 노력해 왔습니다.

답변

1

사용 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