אני צריך לקלוט קלט ממשתמש באופן הבא:
read_set A,45,23,6,7,4,3,75,34,-1read_set = שם השיטה A = שם הקבוצה 45......-1 = מספרים שיכנסו אל הקבוצה
|
בעיקרון אני אמור להשתמש בשיטה strtok.
בצעתי את הקוד הבא:
fgets(buff,1000,stdin); /*Slice char for tokens. */ char delims = " "; char i, *result = NULL; /* divide by space */ result = strtok( buff, delims ); for(i=0;command.func != NULL;i++) { if(!strcmp(result,command.name)) break; } if(command.func == NULL) printf("No such command\n"); else { result = strtok( NULL, delims ); printf("pass %s\n",result); (*(command.func))(result); printf("finish"); }
|
יש לי בעיה כאשר אני שולח קלט כזה לדוגמא:
אם אני רושם את המילה בלבד הוא רושם לי שהוא כאילו לא מצא את הפקודה
אבל אם אני מוסיף רווח אחריה או רווח ועוד כמה אותיות הוא כן מצליח לזהות אותה. מה דפוק פה?