Kleines Wörterbuch



  • Hallo Zusammen,

    ich befasse mich seit ein paar Tagen mit C.

    Ich möchte ein kleines Spanisch - Deutsch Wörterbuch schreiben.

    Das Programm soll ein Indexdatei einlesen und soll die jeweiligen Ergebnisse der Suchparameter ausgeben.

    Mein bisheriger Code:

    #include <stdio.h>
    #include <stdlib.h>
    int main(void) 
    
    {
    
    FILE *file;
    char output [300];
    file = fopen("de-es.txt", "r");
        if(NULL == file) {
        printf("file \"de-es.txt\" not found!\n");
        return EXIT_FAILURE;
    }
    
    fgets (output , 300 , file);
    puts (output);
    fclose (file);
        return 0;
    }
    

    Die Index Datei ist so aufgebaut.

    Guten Tag   ;   buenos días
    

    Gibt es unter C eine Such/Filter Funktion wie Grep unter Linux?

    Viele Grüße



  • ansi c hat sowas nicht dabei, das was am nächsten ran kommen würde wär ein strtok() allerdings gib es regex librarys die du verwenden kannst, glaube das ist aber ein bischen zu wuchtig? pcre wär sowas http://www.pcre.org/ naja schau es dir doch einfach mal an;)

    lg lolo



  • gekko247 schrieb:

    Ich möchte ein kleines Spanisch - Deutsch Wörterbuch schreiben.
    Das Programm soll ein Indexdatei einlesen und soll die jeweiligen Ergebnisse der Suchparameter ausgeben.

    nimm ein fertiges datenbanksystem, damit ersparste dir 'ne menge arbeit, z.b. das: http://www.sqlite.org/selfcontained.html
    (ist in C geschrieben, public domain, lässt sich leicht in eigene projekte einfügen)
    🙂



  • Man muss ja nicht gleich mit Kanonen auf Spatzen schiessen 🙂 . Ein einfacher Parser reicht auch.



  • player4245 schrieb:

    Man muss ja nicht gleich mit Kanonen auf Spatzen schiessen.

    machen wir doch nicht, hier ist ja nicht das c++ forum. *fg*

    player4245 schrieb:

    Ein einfacher Parser reicht auch.

    naja, weisst du, wieviele spanische bzw. deutsche wörter es gibt, die man die jeweils andere sprache übersetzen kann und ob alles 1:1 übersetzbar ist? ein parser könnte ziemlich lange dafür brauchen und höllisch komplex werden. mit 'nem datenbanksystem hat man alle möglichkeiten, verschiedene abfragen zu formulieren, z.b. ähnliche klingende wörter und synonyme finden, usw und schnell ist es sowieso. das ist schon 'ne gute grundlage. klar kann man auch alles selber schreiben, aber es wäre verdammt aufwendig.
    🙂



  • Es ist bestimmt zum Lernen gedacht, von daher finde ich eine DB ala mySQL auch etwas übertrieben, allerdings in einem richtigen Wörterbuch-Projekt korrekt.

    B2T: Lies Zeilenweise, entferne das newline-Zeichen und setze dann strtok() ein, dann kannst du bequem per strcmp() testen ob dein gesuchtes Wort in der aktuellen Zeile enthalten ist.

    Grüße.



  • Moin, Moin,

    Es ist bestimmt zum Lernen gedacht, von daher finde ich eine DB ala mySQL auch etwas übertrieben, allerdings in einem richtigen Wörterbuch-Projekt korrekt.

    Ja, soll zur als Lernzweck dienen.

    B2T: Lies Zeilenweise, entferne das newline-Zeichen und setze dann strtok() ein, dann kannst du bequem per strcmp() testen ob dein gesuchtes Wort in der aktuellen Zeile enthalten ist.

    Kannst du mir da mal ein Code Beispiel posten. Ich denke ich muss mich da mehr in C einarbeiten.

    Momentan verstehe ich nur Bahnhof 😞

    Grüße



  • gekko247 schrieb:

    Ich denke ich muss mich da mehr in C einarbeiten.

    das musst du so oder so. hier findeste z.b. funktionen wie 'strcmp': http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
    ^^in der suchbox oben einfach 'strtok' eingeben und schon erscheint die doku auch dafür.
    🙂


Anmelden zum Antworten