Christian Seiler: C++ - Problem *Hilfe*

Beitrag lesen

Hallo Martin,

int ModifyString(char *string)
{ int i;

while (string[i]!=0)        // ein Nullbyte markiert in C das String-Ende
    { string[i] = AnotherChar; // hier Ersatzwert eintragen
      i++;                     // Index erhöhen
    }                          // und weiter
   return (0);                 // ein Dummy-Rückgabewert der Form halber
}

Mal abgesehen von dem Initialisierugsproblem, worauf Du schon hingewiesen wurdest: Das funktioniert nur dann, wenn der String im Speicher auch ohne Seiteneffekte modifizierbar ist. Das ist bei Strings, die man aus API-Aufrufen zurückbekommt, oftmals nicht der Fall. Gut, ich kenne die Windows-API jetzt nicht wirklich genau, kann das daher in diesem Fall nicht sagen, aber man sollte sich überlegen, ob man nicht lieber eine Kopie des Strings anlegt und die Kopie dann zurückgibt. Hängt aber wie gesagt von der konkreten Situation ab und ist nicht allgemein zu beantworten.

Viele Grüße,
Christian