Fehler mit strlen
-
Hallo allerseits!
Mein Programm stirbt immer wenn ich im folgenden Code die funktion strlen aufrufe.
Ich lande auch immer mit dem Debugger da, kann aber keinen Fehler erkennen....
m_vDictionary ist ein Vektor. Ich hab auch schon sizeof() durch die Zahl 2 ersetzt weil ich nicht sicher war ob das richtige ergebnis kommt....nsVector<word_struct> m_vDictionary; struct word_struct { const char * szSuchWort; const char * szNext_position; const char * szEnd_position; }; const char * words[] = { "style=\"","<style ","</style>" }; word_struct wd; int iCounter = sizeof(words)-1; int iLength; while(iCounter >= 0) { iLength = strlen(words[iCounter])-1; wd.szSuchWort = words[iCounter]; wd.szNext_position = &wd.szSuchWort[0]; wd.szEnd_position = &wd.szSuchWort[iLength]; m_vDictionary.Add(wd); iCounter--; }Schon mal danke im voraus!
-
Also wenn ich sizeof(words) durch 2 ersetze, klappt das bei mir. sizeof(words) liefert auch nicht die Anzahl der Elemente im Array zurück, sondern die Gesamtgröße. Und die ist sizeof(words[0])+sizeof(words[1])+sizeof(words[2]).
-
int iCounter = sizeof words / sizeof words[0] - 1;