Thread Position eines Zeichens bestimmen
(7 answers)
Opened by renee at 2004-05-05 10:54
[quote=renee,05.05.2004, 08:54]Wie muss eine Methode aussehen, die ein Zeichen in einem String findet und die Position zurückgibt (oder einen Zeiger darauf). Dabei sollen keine Bibliotheksfunktionen benutzt werden...
Ich habe bisher folgendes: Code: (dl
)
1 char* findchar(char *string, char zeichen){ Aber das liefert mir den gesamten Teil ab dem Zeichen und nicht die Position :-( Der Aufruf soll dann so aussehen: Code: (dl
)
findchar("HALLO:53456",':'); In deiner Frage suchst du nach 2 Dingen: 1. die Position auf das erste Zeichen 2. einen Zeiger auf diese Position Deine Funktion liefert dir einen Zeiger auf diese Position (was du ja überprüft hast). Falls du die Position willst (also den Index), dann kannst du z.B. Code: (dl
)
printf("Position: %d\n", findchar(string, ':') - string); // plus/minus Eins verwenden. (Ich befürchte, die C-Programmierer sind begeistert). Noch eine Frage: Was passiert, wenn das Zeichen nicht vorkommt? Deine Funktion sucht dann den kompletten Arbeitsspeicher ab! Also: Besser wäre z.b. folgendes: Code: (dl
)
1 while (*position) { // suche bis zum NULL-Byte untested\n\n <!--EDIT|ronald|1083836396--> |