Daten von Textdatei in verschiedene Strings lesen



  • darfst du malloc benutzen ?
    oder haben die zeilen eine maximale länge ?



  • Funktioniert. vielen Dank. Auch für die Mühe! 👍



  • Wie könnte ich jetzt, um das kleine i-Tüpfelchen noch zu bekommen, eine eventuelle Kommentierung "auslöschen"? Einfaches hinzufügen von # zu delim? Also alle Zeilen, welche mit # beginnen.



  • gnome.gemini schrieb:

    Wie könnte ich jetzt, um das kleine i-Tüpfelchen noch zu bekommen, eine eventuelle Kommentierung "auslöschen"? Einfaches hinzufügen von # zu delim? Also alle Zeilen, welche mit # beginnen.

    Ein bischen musst Du schon selbst machen. Sonst ist der Lerneffekt quasi 0.



  • OK. Danke...
    Eine Frage noch. Ich verstehe nicht, was Du in Zeile 24 machst...

    Meine Struktur lieg in einer anderen Datei, welche ich per #include mit eingebunten habe. Wenn ich jetzt

    struct record records;
    

    mache, so meint der Compiler, "storage size of 'records' isn't known".
    Was meint der wieder. Ich hasse Strukturen und Pointer...



  • es kommt darauf an, *wo* du diese Zeile sich befindet. Wo hast du sie?



  • mal ne bläde frge, würde das nich funktionieren

    typedef struct record
    {
        char name[50];
        char vorname[50];
        char tel[30];
        char wohnort[80];
        char Kommentar[80];
    
    }record_t;
    
    //... schleife
    sscanf (acBuf,"%s;%s;%s;%s#%s",record_t.name,
                                   record_t.vorname,
                                   record_t.tel,
                                   record_t.wohnort,
                                   record_t.Kommenatr);
    

    hab noch nie mit sscanf gearbeitet.

    strtok wäre dynamischer



  • BorisDieKlinge schrieb:

    mal ne bläde frge, würde das nich funktionieren

    Prüft die Bufferlängen leider nicht. Funktionieren würde es aber.



  • Die Struktur befindet sich in einer anderen Datei, in der noch weitere Strukturen erzeugt werden. Diese binde ich mit #include ein.

    Anschließend versuche ich ein struct record p_record[50];
    Der Compiler meint in dieser Zeile "error: array type has incomplete element type". Was ist das?



  • Ich habe dies umgeändert in:

    struct record p_record;
    

    und nun funktioniert es. Jedoch bekomme ich vom gcc die Warnung:

    error: subscripted value is neither array nor pointer
    

    Was ist da wieder falsch?
    Ich greife auf die Struktur so zu:

    entry[0] = p_record[record_count].Name
    

    Ich bekomm die Krise mit den Pointern und Arrays... 😕


Anmelden zum Antworten