char array initialisierungsproblem



  • class irgendwo
    {
     var::var(char c[])
     {	
    	char varstring[]="$";
    
    	strncat(varstring,c,strlen(c));
    
    	cout << varstring<<endl;
     }
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	var *v=new var("a2");
    }
    
    //Text wird angezeigt, aber es tritt im Speicher ein Fehler auf wegen "varstring"
    

    Was ich generell nicht verstehe, wieso initialisiert er das char array varstring mit irgendwelchen werten obwohl kein new verwendet wird.

    Bei strlen liefert er zb. bei varstring[20] 27 werte, bei varstring[] 11 werte ... varstring[200] 217 werte etwas verwirrend...

    bitte um hilfe bin nicht so erfahren mit zeigern und char arrays...



  • Falsches Forum, C++ wäre korrekt.
    Simon


Log in to reply