N
Nano
Foren As
Hi, um mich mit den Zeigern etwas besser auseinanderzusetzen habe ich eine kleine Methode geschrieben die 2 strings vertauscht , mir ist klar das man das auch anders lösen kann.
Wenn ich das ganze richtig verstanden habe sollte folgendes auch ohne probleme laufen
leider erhalte ich eine Exception : Status_Access_Violation
der fehler liegt bei dem mit //--- // kommentierten code, allerdings verstehe ich nicht wo.
*(str1 + i) entspricht dem inhalt/wert von str1 , es sollte also eigentlich nur eine ganz normale char vertauschung stattfinden oder ?
Wenn ich das ganze richtig verstanden habe sollte folgendes auch ohne probleme laufen
Code:
bool swap_strings(char * str1, char * str2){
int lenstr1 = 0;
int lenstr2 = 0;
lenstr1 = strlen(str1);
lenstr2 = strlen(str2);
if(lenstr1 != lenstr2)
{
return false;
}
char tmp = '\0';
int i;
for(i = 0; i < lenstr1; i++ )
{
tmp = *(str1 + i);
cout << tmp << endl;
//--- // *(str1 + i) = *(str2 + i);
//--- // *(str2 + i) = tmp;
}
cout << "str 1 neu : " << str1 << endl;
cout << "str 2 neu : " << str2 << endl;
return true;
}
leider erhalte ich eine Exception : Status_Access_Violation
der fehler liegt bei dem mit //--- // kommentierten code, allerdings verstehe ich nicht wo.
*(str1 + i) entspricht dem inhalt/wert von str1 , es sollte also eigentlich nur eine ganz normale char vertauschung stattfinden oder ?