String ArrayList in C?

Hi nochmal,

ich versuche gerade eine Datei zeilenweise einzulesen (kein Problem) um dann mit jeder Zeile etwas zu machen. Dieser Vorgang wird jedoch sehr oft ausgeführt und die Performance spielt auch eine Rolle. Jetzt stellt sich mir die Frage, wie ich am Besten eine Datei im Speicher halte, so dass ich ohne Mühe zeilenweise darauf zugreifen kann?

Danke!

OK, ich hab mal das hier gebastelt, aber evlt. gehts ja noch irgendwie besser:

	char input[size];
	char tmpInput[size];
	pos = 0;
	toHide = fopen("C:\\ToHideList.txt", "r");
	while ((temp = getc(toHide)) != EOF) {
		input[pos++] = temp;
	}
	fclose(toHide);

	// später im Code

	strcpy(tmpInput, input);
	part = strtok(tmpInput, "
");
	while (part != NULL) {
		// do something with part
		part = strtok(NULL, "
");
	}

naja weißt du wieviele Zeilen es gibt?
wenn nicht würd ich erst eine Liste nehmen und dann in einen Array umpacken

Also an die Zeilenzahl komm ich. Wie verwende ich den ne „Liste“ in C? Hab sowas in meinem Buch nicht gefunden und Googeln nach „irgendwas C“ führt nicht so zu den gewünschten Ergebnissen :wink: .

ok wenn du die Zeilenzahl kennst geht nichts besser als ein Array

die Liste kannste dir schnell selber bauen

Achso, selber bauen … dachte da gibts evtl. schon was. Joa, das hätte ich auch machen können. Aber Danke!

Also gibt es keine komfortablere Lösung als meine?

geben tut es da bestimmt was nur dafür reichen meine C Kentnisse nicht aus :wink:
also wenn du den Text nicht noch einmal im kompletten brauchst kannst du das kopieren am Ende sein lassen (ich denke zumindest dass es dafür ist ;))

Doch, den brauch ich nochmal. Aber danke für den Tipp.