Hallo,
ich möchte eine kleine Funktion schreiben die mir in einem Char-Array ein Zeichen sucht. Die Funktion soll mit einem Pointer auf das erste Zeichen, bei dem die Suche begonnen werden soll aufgerufen werden. Dieser Pointer als Parameter soll auch als Rückgabewert dienen. Hierbei happert es noch ein bisschen. Hier mal meine Funktion:
Mein Aufruf sieht so aus:Code:bool MoveBuffer2Char (volatile char **Buffer, char Char, U8 MaxChars) { volatile char *CheckBuffer = *Buffer; while ((*CheckBuffer++ != Char) & (--MaxChars > 0)); if (MaxChars > 0) { Buffer = &CheckBuffer; return (TRUE); } else return (FALSE); }
Leider steht die Variable Buffer nach dem Aufruf der Funktion wieder auf dem Startwert. Was mache ich falsch, bzw. wie mache ich es richtig?Code:volatile char RS232Buffer[0x50]; volatile char *Buffer = &RS232Buffer[0]; // ... if (MoveBuffer2Char (&Buffer, ',', 6)) { // ... }
Viele Grüße
Andreas







Zitieren


Lesezeichen