Duplikate in Array entfernen, Probleme mit Datentypen

  • Moin


    Aktuell bin ich daran ein Programm zu schreiben, um Zeilenduplikate in einer Textdatei zu finden, und zu eliminieren.


    Dabei erstelle ich ein Array mit [lines] Anzahl der Lines .
    Dann werden aus der Textdatei die Zeilen als String in das Array gesteckt.
    Das Array wird dann sortiert, und dann soll das Array durchgegangen werden, ob das k-te Element und das k+1-te Element unterschiedlich sind, und dann wird in eine Datei geprintet.


    Irgendwie verstehe ich aber die Probleme die der Compiler macht nicht, da ich ja letztendlich im Array Daten vom Typ char habe, aber laut Compiler diese scheinbar ints sind.
    Weiterhin bekomme ich immer die aussagekraeftige Meldung "Speicherzugriffsfehler"




    Hier mal mein Code, vielleicht weiss jemand ja weiter.


    Die Fehler


  • Habe ich mal gemacht, die Errors sind leider immernoch die gleichen :/
    Warum muss das Array MAX_STR_LEN enthalten? Wird jeder char etwa einzeln da abgespeichert oder komplette Strings?

  • Hast du MAX_STR_LEN definiert? Du kannst nicht einfach alles dadurch ersetzen. Zum Beispiel wäre es dann strcpy(fileArray[counter], buf). Wenn du nur ein char fileArray[lines] definierst, dann ist dies so gesehen ein String von der Länge lines. Aber du willst ja ein Array von Strings haben und nicht nur von einzelnen Zeichen. Ich würde empfehlen, dich einfach mal in Strings in C einzulesen. Da ich mir nicht den kompletten Code genau angesehen habe, kann ich dir nicht alle Fehler aufzeigen.