mogbo
Banned
Hallo,
bin gerade mehr oder weniger dabei ein Programm zu basteln, was den Inhalt einer csv in den RAM läd und 3 neue Files erstellt.
Mein Beispiel hat 35000 Zeilen, pro Zeile 13 Zellen mit einem Zelleninhalt von 39 chars
Würds gerne in einen 3D - Array laden, erhalte jedoch immer Segmentation faults
(stark vereinfacht)
Das Ergebnis ist ein Segmentation fault, ich vermute mal aufgrund des zu großen Arrays?
Weiß hierfür jemand eine intelligentere Lösung, würde gern ein allgemeines Programm basteln mit dem ich eine csv via C ähnlich wie mit VBA bearbeiten kann. Dateien vollständig in den RAM laden ist erwünscht, denke so erhalte ich die beste Zugriffszeit.
Bitte fragen, wenn ich etwas unverständlich erläutert habe
bin gerade mehr oder weniger dabei ein Programm zu basteln, was den Inhalt einer csv in den RAM läd und 3 neue Files erstellt.
Mein Beispiel hat 35000 Zeilen, pro Zeile 13 Zellen mit einem Zelleninhalt von 39 chars
Würds gerne in einen 3D - Array laden, erhalte jedoch immer Segmentation faults
Code:
void
zaehl_function(int *rows, int *cells, int *letters)
{
// Öffnet die csv und zählt Zeilen, Zellen-Maxwert und Zelleninhalt-Maxwert --> schreibts über pointer in die variablen aus main()
}
int
main(void)
{
int rows, cells, letters;
zaehl_function(&rows, &cells, &letters);
// rows ~ 35000 -- cells ~ 13 -- letters ~ 39
char array[rows + 1][cells + 1][letters + 1];
return 0;
}
Das Ergebnis ist ein Segmentation fault, ich vermute mal aufgrund des zu großen Arrays?
Weiß hierfür jemand eine intelligentere Lösung, würde gern ein allgemeines Programm basteln mit dem ich eine csv via C ähnlich wie mit VBA bearbeiten kann. Dateien vollständig in den RAM laden ist erwünscht, denke so erhalte ich die beste Zugriffszeit.
Bitte fragen, wenn ich etwas unverständlich erläutert habe