Moin Martin!
Man sucht also nach einem bestimmten Zeichen ('.') und ersetzt dieses durch ein 0-Byte, um den String zu terminieren, obwohl ja noch die anderen Zeichen existieren.
Was steckt hier dahinter - warum macht man sowas?um den String zu kürzen - wozu sonst?
Dass hinter dem abschließenden Nullbyte noch ein paar Zeichen im Speicher rumlungern, der ja ohnehin reserviert ist, spielt dabei doch keine Rolle.
Achso ok. Mir erschien es nur irgendwie komisch, die restlichen Zeichen einfach stehen zu lassen - immerhin belegen die ja unnötig Speicher im Prinzip.
Jetzt hätte ich noch eine Frage: Ich habe eine Funktion deren Signatur folgendermaßen aussieht
void func(int arg1, char **output)
output[0] = sprintf("Ergebnis: %d", 1 * arg1);
output[1] = sprintf("Ergebnis: %d", 2 * arg1);
output[2] = sprintf("Ergebnis: %d", 3 * arg1);
}
Wie initialisiere ich nun char** output vor der Übergabe an die Funktion richtig, damit ich keinen Speicherzugriffsfehler erhalte?