Hallo zusammen,
hab leider schon einige Jahre nicht mehr C programmiert und hänge jetzt an folgendem Problem:
Ich lese eine Datei zeilenweise ein und möchte alle Zeilen in einen grossen char*-Pointer aneinanderhängen.
Folgendermassen funktioniert es, ist aber meiner Meinung nach häßlich:
Code
char *buf = NULL;
char *s = NULL;
buf = (char*)malloc(1);
bzero (buf, 1);
while ( (s = readline (p)) )
{
buf = (char*)realloc(buf, ((buf)?strlen(buf):0) + strlen(s) + 1);
sprintf (buf, "%s%s", buf, s);
}
Alles anzeigen
Hat jemand nen Vorschlag, wie man so etwas eleganter macht?
Danke und Gruß,
Achim