Char kürzen

DaRealMC

Erfahrenes Mitglied
Ich habe ein kleines Problemchen
Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

void main() {
	char username[10];
	char baum[100];
    GetEnvironmentVariable("nwusername", username,9);
	GetEnvironmentVariable("login_context", baum,99);
	printf("Name: %s\n",username);
	printf("Baum: %s\n",baum);}
Das funktioniert so weit schon einmal ganz gut (Meisterleistung ;) )
Nun steht aber am Ende von baum etwas, was ich nicht brauchen kann '.Root' z.B. (immer gleich)
baum ist auch immer unterschiedlich lang.
Wie bekomme ich das '.Root' am einfachsten weg?
 
Hi.

Du suchst einfach mit der Funktion strstr nach letzten Vorkommen des Strings ".Root" (bzw. deinem Suchstring) und wenn du den gefunden hast, setzt du an die Stelle die dir die Funktion geliefert hat ein NUL Zeichen ('\0').

/edit: Mir fällt gerade ein, das das evtl. eine schlechte Idee ist (wenn der Suchstring nicht am Ende vorkommt). Besser wäre wenn der String länger ist als dein Suchstring die Funktion strcmp zu verwenden um den Suchstring mit dem Ende des anderen Strings zu vergleichen. Wenn das passt, dann setzt du da ein NUL Zeichen.

Gruß
 
Zuletzt bearbeitet:
Zurück