Zahl in String kopieren



  • Hallo Forum,

    ich möchte Testdatensätze erstellen:

    int i;
    	char *tmp=0;
    
    	for (i=0;i<10;i++) {
    		sprintf(strcpy(tmp, "aaaa"), "%5d", i); 
    		AddStr(tmp);
    	}
    

    Die Funktion AddStr soll die Testrings mit jeweils einer Nummer bekommen. Der Kompiler meldet keinen Fehler. Das Prg stürzt aber in der sprintf Zeile ab. Dort kopiere ich "aaaa" in dei tmp Variable. Dann füge ich via sprintf eine Zahl hinzu. Was mache ich falsch?

    Moser



  • 1. Du stellst keinen Speicher bereit
    2. sprintf(strcpy(tmp, "aaaa"), "%5d", i); ist totaler Murks

    -> Speicher für tmp bereitstellen und

    sprintf(tmp, "aaaa%5d", i); benutzen.



  • Vielen Dank es funktioniert 🙂


Anmelden zum Antworten