Mystrcat



  • {
    	char *cp = dst;
    
    	while( *cp )
    	    cp++;                   /* find end of dst */
    
     :arrow_right: 	while( *cp++ = *src++ );  /* Copy src to end of dst */
    
    	return( dst );            /* return dst */
    }
    
    Unbehandelte Ausnahme bei 0x004115d1 in Strings.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x0041575d.
    

    Ich kann hier keinen Fehler finden, Code ist nicht von mir...
    Weiss jemand weiter??

    mfg 08mmarte



  • Da gibt's keinen Fehler, allerdings muss dst auch ausreichend groß sein, um src anhängen zu können:

    char* mystrncat(char *dst, char*src) { 
    	char *cp = dst; 
    
    	while( *cp ) 
    		cp++;                   /* find end of dst */ 
    
    	while( *cp++ = *src++ );  /* Copy src to end of dst */ 
    
    	return( dst );            /* return dst */ 
    }
    
    int main() {
    	char a[10]="test";  //a ausreichend groß initialisieren
    	char b[]="xxx";
    	mystrncat(a,b);
    }
    


  • Hab es so initialisiert..

    Mystrcat( "ADRIAN + ", "MARKUS" )
    

    EDIT: Sorry hate nen Fehler im Titel...sollte Mystrcat heissen nicht Mystrncat..



  • Ja aber das sind ja char-Konstanten, die du da übergibst! Das geht so nicht... Mach's so, wie in meinem Beispiel, dann passt dat!



  • Gut Danke...


Anmelden zum Antworten