Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Fehler bei Str_SubStr? Kategorie: Programmierung C (von Jo - 23.03.2011 13:20)
Als Antwort auf Fehler bei Str_SubStr? von Andreas - 23.03.2011 9:53
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128


> Hallo!
>
> Hier erstmal der Code:
> --- cut ---
> //------------------------------------------------------------------------------
> // Alle Positionen eines Zeichens in einer Zeichenkette in ein Array speichern
> //
> void Helper_FindCharPositions(char daten[], char zeichen[], byte pos[])
> {
>     byte i;
>     char daten_puffer[160];
>
>     Str_Copy(daten_puffer, daten, 0);
>
>     #ifdef DEBUG_VERBOSE
>     Msg_WriteText("rnPositionen aller '");
>     Msg_WriteText(zeichen);
>     Msg_WriteText("': ");
>     #endif
>     do
>     {
>         pos[i] = Str_SubStr(daten_puffer, zeichen);
>         #ifdef DEBUG_VERBOSE
>         Msg_WriteInt(pos[i]);
>         Msg_WriteText(" ");
>         #endif
>         daten_puffer[pos[i]] = 0x2A;
>         i++;
>     } while (Str_SubStr(daten_puffer, zeichen)>-1);
>
>     #ifdef DEBUG_VERBOSE
>     Msg_WriteText("rnNeue Zeichenkette: ");
>     Msg_WriteText(daten_puffer);
>     #endif
> }
> --- cut ---
>
> Irgendwie funktioniert das nicht so wie ich es mir vorstelle.
> Die Funktion Str_SubStr liefert immer 255 zurück obwohl die
> Zeichenkette im SourceStr enthalten ist. Wenn dann sollte
> die Funtion doch -1 zurückgeben wenn sie die Zeichenkette
> nicht findet, oder?
>
> Mache ich was falsch oder ist das ein Bug?
>
> fg
> Andy
>
> PS: ich verwende die neueste Beta der IDE

Hallo Andy,
Vorschlag (so würde ich es machen):
Mit dem Debugger entsprechend Zeile für Zeile durchgehen und dabei die Var. anschauen.
Dann sollte alles schnell klar werden.
Good luck
Jo


    Antwort schreiben


Antworten: