string einlesen
-
Hallo Leute,
hab da gerade im Moment ein kleines Problem, wo ich etwas auf dem Schlauch stehe.
Habe einen String c_srt(Vorname Name) und möchte nur den Name einlesen, also ab dem Leerzeichen. Jedoch soll der Name bspw. Mustermann als mustermann ausgegeben werden. Also klein geschrieben.
Hoffe Ihr könnt mir da mal schnell helfen.
Gruß
Tim
-
Willst du nun einlesen oder ausgeben?
-
Vielleicht hab ich mich da etwas umständlich ausgedrück.
Ich versuche es mal so zu erklären:Ich übergebe einer Funktion einen String mit Vorname und Name. Nun benötige ich aber für eine weitere Verarbeitung nur den Name. Diesen muss ich in einen separaten String einlesen und danach ausgeben.
Gruß
Tim
-
Ok, jetzt ist mir klar was du willst:
char *pos pos=strchr(ganzname, ' '); //liefert zeiger auf Leerzeichen zwischen Vor- und Nachname if(pos) //Überprüfung, ob auch ein Leerzeichen gefunden wurde { strncpy(nachname, pos+1, max_lang_nachname); //kopiert Nachname in andere Variable }
-
und dann musst du jeden buchstaben im array einzeln abfragen und ggf auf klein setzen.
char *pos=nachname; while(pos!='\0') { if('A'<=*pos && *pos<='Z') *pos-=32; pos++; }
-
Oder einfach tolower() verwenden für jedes Zeichen
-
Interessant wird es dann, wenn doppelnamen oder doppelvornamen auftachen, die nicht mit - sonder mit Leerzeichen getrennt werden. Schieb Namen und vornamen in zwei getrennte variablen
-
@anders
Stimmt es gibt ja auch mehrere Vornamen. Aber dafür gibts dann noch strrchr(). Das sucht von hinten her das erste Vorkommen des angegebenen Zeichens :D.