Array auslesen



  • Storm.Xapek.de schrieb:

    Das kommt ganz darauf an wie den dein bisheriger Code aussieht.
    Hast du für jede Datei einen eigenen Array, oder hat jede Datei
    eine bestimmte Anzahl von Wörtern, oder wie grenzt du die Dateien voneinander ab?
    Poste den Code vllt. mal. Falls es zu viele Zeichen sind benutzt
    u.U. http://nopaste.info/

    Also die Texte sollten alle in ein Array.
    Sie sind auch nicht auf die enthaltenen Wörter limitiert.



  • asx02348 schrieb:

    Ich verstehe nicht wie diese Liste entsteht die dann nach Zahlen geordnet wird.

    hi !
    du könntest heys beispiel nehmen und ein bisschen erweitern:

    printf("nr: %d datei: %s\n", i, dateien[i]);
    

    dann hast du deine liste mit nummer 🙂



  • Kann man das gesuchte Wort nicht irgendwie mit strncmp()oder strcmp()finden?



  • Doch kann man, wovon rede ich den deiner Meinung nach in den meinen letzten 3 Posts?
    Ich denke du hast jetzt genug Tipps bekommen, scheinst diese aber nicht umsetzten zu können.
    Lerne vllt. erstmal die Grundlagen und such dir ein gutes Howto.



  • Ok sorry habe ich jetzt gesehen.
    habe ich wohl total überlesen.

    Aber wie mache ich das mit strcmp()?

    Sind beide Strings identisch, gibt diese Funktion 0 zurück. Aber was mache ich wenn sie eben nicht identisch sind?

    Das versteh ich nicht richtig.



  • du hast noch keine einzige zeile quellcode von dir gepostet.
    willst du das theoretisch abhandeln ?

    du kannst eine datei in einen puffer einlesen.
    ist die datei zu groß, liest du nur einen teil der datei in den puffer.

    in dem puffer kannst du dann z.b. mit strstr nach zeichenketten suchen.

    char *strstr( const char *string, const char *strCharSet );
    

    string wäre in dem fall dein puffer mit der textdatei und strCharSet die zeichenkette, die du suchst.



  • Ich wollte das erstmal theoretisch durchdenken.



  • dann hast ja jetzt alle nötigen infos ne ?



  • Ok ich versuch das nachher mal zu schreiben und wenn ich fertig bin poste ich den Code mal hier.

    Wenn ich da nen Fehler gemacht habe könnt ihr mir dann bestimmt helfen.



  • Ok ich muss zugeben das ich es nicht richtig hinbekommen habe.

    Kann mir da nochmal jemand bitte helfen.

    char suchwort;
    int strcmp;
    
    printf("Welches Wort suchen sie?\n\n");
    		scanf ("%s",&suchwort );
    
    for(i=0; i<MAX_FILES; ++i) 
       {
        datei = fopen("dateien[i]", "r"); //hier wird doch das array geöffnet oder?
    
        if(strcmp(const char *dateien[i], const char *&suchwort) == true) {
           printf("nr: %d datei: %s\n", i, dateien[i]);
        }
        fclose("dateien[i]");
    }
    

    Ist bestimmt falsch. Aber man sieht das ich es versucht habe.



  • Aua, das tut meinen Augen ja weh was du da schreibst.
    Bist du sicher das du schonmal ein C Tutorial durchgelsen hast?

    z.B.
    datei = fopen("dateien[i]", "r"); Öffnet eine Datei mit dem Namen "dateien[i]"
    datei = fopen(dateien[i], "r"); Öffnet eine Datei dessen Namen in dem Array dateien mit dem Index i steht.

    char suchwort; Ist ein Speicherplatz für ein einzelnes Zeichen
    char suchwort[255]; Wäre Speicherplatz für einen ganze Zeichenkette mit maximal
    255 Zeichen.

    strcmp(const char *dateien[i], const char *&suchwort)
    😕 Das kompiliert überhaupt nicht!

    Sag mal, hast du überhaupt einen Compiler mit dem du deinen Code testen kannst,
    oder versuchst du den Code einfach frei Hand im Editor zu schreiben?
    Wie schon gesagt, lerne vllt. erstmal die Grundlagen...



  • Ich habe schon in einem Tutorial gelesen. C vom A bis Z

    Ich schreibe in Microsoft Visual Studio 2005
    Leider habe ich nicht mehr so viel Zeit zu lernen. Der Programmteil muss bis MI fertig sein.
    Deshalb habe ich hier stark auf Hilfe gehofft.



  • Kann mir da denn keiner helfen?




Anmelden zum Antworten