Ik kampt met het probleem dat mijn stukje code het niet goed doet.
Dit is mijn code:
void execute_command (char* in)
{
char *cmd;
char *par1, *par2;
char *del = " \0\n\r";
cmd = strtok (in, del);
par1 = strtok (NULL, del);
par2 = strtok (NULL, del);
if (!strcasecmp (cmd, "user"))
{
}
/* En nog veel meer andere onbelangrijke code */
Deze functie krijgt een string binnen en moet deze opsplitsen in 1-3 andere strings. Gescheiden door een spatie. Het is de bedoeling dat er een bepaald commando herkent wordt.
Krijg je dus zoiets als:
user Dominique
Dan moet de code ervoor zorgen dat in de variabele cmd user komt te staan en in par1 Dominique en moet de code in het if statement uitgevoerd worden. Het probleem is echter dat als je alleen user ingeeft, dan snapt dat ding het niet helemaal.
Als je cmd dan print op het scherm, dan zie je dat er op een of andere manier een enter achter komt die ervoor zorgt dat het if statement een 0 teruggeeft. Dus user met een spatie erachter gaat goed en user zonder spatie gaat fout.
Alvast bedankt voor de mogelijke hulp die jullie mij kunnen bieden.
BTW Ik ben een newbie op C gebied
Dit is mijn code:
void execute_command (char* in)
{
char *cmd;
char *par1, *par2;
char *del = " \0\n\r";
cmd = strtok (in, del);
par1 = strtok (NULL, del);
par2 = strtok (NULL, del);
if (!strcasecmp (cmd, "user"))
{
}
/* En nog veel meer andere onbelangrijke code */
Deze functie krijgt een string binnen en moet deze opsplitsen in 1-3 andere strings. Gescheiden door een spatie. Het is de bedoeling dat er een bepaald commando herkent wordt.
Krijg je dus zoiets als:
user Dominique
Dan moet de code ervoor zorgen dat in de variabele cmd user komt te staan en in par1 Dominique en moet de code in het if statement uitgevoerd worden. Het probleem is echter dat als je alleen user ingeeft, dan snapt dat ding het niet helemaal.
Als je cmd dan print op het scherm, dan zie je dat er op een of andere manier een enter achter komt die ervoor zorgt dat het if statement een 0 teruggeeft. Dus user met een spatie erachter gaat goed en user zonder spatie gaat fout.
Alvast bedankt voor de mogelijke hulp die jullie mij kunnen bieden.
BTW Ik ben een newbie op C gebied