Читайте каждую строку с fgets
.
Только с несколькими предметами, попробуйте разобрать максимальное количество предметов. sscanf
вернет количество проанализированных элементов. Процесс основан на количестве проверенных элементов и соответствующей команде.
#include <stdio.h>
#include <string.h>
int main ( void) {
char line[100] = "";
char command[100] = "";
char name[100] = "";
char pw[100] = "";
char extra[100] = "";
int result = 0;
while ( fgets ( line, sizeof line, stdin)) {
result = sscanf ( line, "%99s%99s%99s%99s", command, name, pw, extra);
if ( 2 == result) {
if ( ! strcmp ( "del_user", command)) {
//process name to del_user
}
}
if ( 3 == result) {
if ( ! strcmp ( "signup", command)) {
//process name pw to signup
}
if ( ! strcmp ( "login", command)) {
//process name pw to login
}
}
}
return 0;
}