Datei durchsuchen



  • tmp = ( char* ) malloc( src_length - ( end - start ) + 1 );

    ansi c !! 😃



  • Sobald mir jemand einen C-Compiler schenkt schreib' ich ANSI-konformen Code 😉

    Greetz, Swordfish



  • Swordfish schrieb:

    Sobald mir jemand einen C-Compiler schenkt schreib' ich ANSI-konformen Code 😉

    Greetz, Swordfish

    gcc -std=c89 -c datei.c
    

    oder

    gcc -std=c99 -c datei.c
    

    😉



  • gcc mag ich nicht 😃

    Greetz, Swordfish



  • Dankeschön!
    Klappt.
    Muss es nur noch in ne Schleife reinpacken damit er alle doppelten durchsucht und löscht :> bis keine mehr da sind...



  • dir ist schon aufgefallen, dass du

    size_t find( char *src, char *value, size_t begin = 0 )
    {
        size_t pos = begin;
        size_t value_length = strlen( value );
        size_t src_length = strlen( src );
    
        for( size_t i = pos; i <= ( src_length - value_length ); ++i ) {
    
            if( strncmp( src + i, value, value_length ) == 0 ) {
    
                return i + 1;
            }
        }
    
        return 0;
    }
    

    mit einem Wert für begin aufrufen kannst? Was hältst du davon, für begin das Ergebnis des letzten find( ) zu nehmen!?

    Greetz, Swordfish



  • Ahh,.. ja, geht auch ^^
    hätt jetzt einfach die zeilen zählen lassen und in ne for schleife gepackt...
    *G*



  • Hallo Allerseits!

    Ich habe folgendes Problem: ich muss aus verschieden files Daten herauspicken um dann mit ihnen zu rechnen, leider bin ich programmiertechnisch ein NULL.

    Habe mir erlaubt, die Suchroutine von Swordfish zu leihen, aber das mit dem einlesen kriege ich immer noch nicht hin. Da Daten stehen in den files so:

    ...

    name
    0: 12.3445
    1: 123.00
    2: 3

    ...

    Hilfe?!



  • Frosch schrieb:

    ...

    name
    0: 12.3445
    1: 123.00
    2: 3

    ...

    Hilfe?!

    Ein bischen genauer beschreiben wie die Datei aussieht und was genau
    du machen willst, wäre hilfreich!



  • Oh, ok, sorry.

    Die Dateien haben alle das Schema

    name_des_wertes
    0: wert0
    1: wert1
    ...
    13: wert13

    name_des_naechsten_wertes
    0: wert0

    name_
    0: wert0
    1: wert1

    usw.
    Ich muss jeweils den Wert suchen anhand des Namens und dann 'wertx' einlesen und auf einem array (?) speichern um dann damit zu rechnen.

    Dank dem Programm von oben finde ich jetzt auch den jeweiligen Namen, aber dann weiss ich nicht, wie ich von da an "bewege", also in die nächste Zeile und dann dieses '0:' überspringe, denn ich brauche ja nur den Wert. Wie viele Werte ich da stehen habe hängt auch von einer in dieser Weise eingelesen Variablen ab.

    Danke schon mal!
    😕 😕 😕



  • fscanf


Anmelden zum Antworten