strings....hilfe hilfe...



  • Also lesen kannst du z.B. mit fscanf, fread und noch ein paar mehr funktionen, jenachdem ob du binär oder textbasiert lesen/schreiben willst.
    schau mal hier: http://www.guardian-online.de/c-kurs/

    EDIT:
    OK, also du willst structs speichern?! dann mach das binär! Erzeuge einen pointer auf das struct und hole dir mit sizeof die größe. dann schreibst du es mit fwrite in die datei(siehe Link)

    EDIT2: sry, falscher Link! probiers mal hier oder google einfach nach fread() fwrite() http://www.iota-six.co.uk/c/38_file.htm

    [ Dieser Beitrag wurde am 01.06.2003 um 15:26 Uhr von THE_FreaK editiert. ]



  • siehe FAQ
    dort gibts nen Beitrag wie man structs in ner datei speichert und wieder auslesen kann.



  • Ist das nicht schwachsinn, einfach die struct in die datei zu schreiben? die struct beinhaltet ja nur die Zeiger und nicht die eigentlichen strings.



  • is ja egal..
    die struktur kann man sowieso ändern
    auf ne fixe größe...

    struct Daten{
      char Name1[LAENGE1];
      char Name2[LAENGE2];
    };
    

    dann müsste es eigentlich klappen...aber
    ich wieder keine Ahnung..



  • das problem ist es muss fast alles in c sein...sonst gibts ärger vom dummen
    programmierprofex...

    hier mal der code...ich hoffe mir kann jetzt bald mal wer helfen...

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    #define STR_LEN 10
    
    struct sdaten{  //datenstruktur
        char Name[STR_LEN];
        char Nachname[STR_LEN];
        char TelefonNr[STR_LEN];
    };
    
    int main(){
        struct sdaten *daten=(sdaten*)malloc(sizeof(sdaten)); //reserviert 1 feld
        int index=0,i;  //index, zählvar.
        int kb_inp; //keyboard eingabe
    
        do{ //seq. eingabe
            printf("Name: ");           gets(daten[index].Name);
            printf("Nachname: ");       gets(daten[index].Nachname);
            printf("Telefonnummer: ");  gets(daten[index].TelefonNr);       
    
            index++;    //index erhöhen     
    
            //abfrage auf wiederholung
            fflush(stdin);  printf("Weitermachen? (J/N)");  kb_inp=getch();
            system("cls");
    
            if(kb_inp!='n'){    //unnötige speicherres. vermeiden...
                daten=(sdaten*)realloc(daten,sizeof(sdaten)*(index));  //feld erhoehen
            }
    
        }while(kb_inp!='n');
    
        //ausgabe der daten...
        printf("Ihre Daten:\n");
        printf("Name\tNachname\tTelefonnummer\n");
        for(i=0;i<index;i++){
            printf("%s\t%s\t\t%s\n",daten[i].Name,daten[i].Nachname,daten[i].TelefonNr);
        }   
    
        //speichern der struktur
    
        //öffnen der struktur
    
        return 0;
    }
    


  • ihr seit aber neunmal klug...ich habe dieses thema nicht zweimal
    gepostet...w*****einlich hat wieder so ein irrer alles editiert...



  • Original erstellt von <bravo>:
    ihr seit aber neunmal klug...ich habe dieses thema nicht zweimal
    gepostet...w
    *einlich hat wieder so ein irrer alles editiert...

    meinst du nicht, du solltest ein wenig netter argumentieren, wenn du die hausaufgaben hier gelöst haben willst? moderatoren als "irre" zu bezeichnen könnte ziemlich kontraproduktiv sein für dein vorhaben



  • halt deine fresse elise



  • ja sorry aber das musste halt mal gesagt werden...



  • cool da hat gerade wieder so ein irrer meine beitrag editiert...
    also der letzte beitrag is nicht von mir...



  • was lernst du daraus:

    anmelden ist das a und o dieses forums, beiträge von unregistrierten lese ich garnicht mehr, außer ich sehe eine interessante diskussion, die sich daraus ergeben hat...



  • na bravo, bravo 😃



  • was ist jetzt mit meinem problem...?



  • na was sagst du jetzt...

    nun bin ich registriert...jetzt
    wirst du w*****einlich meinen beitrag lesen
    oder, elise?

    denn bald ist mein abgabetermin...



  • hast du dir schonmal fgets und fputs angesehen?



  • ja klar...
    aber wie willst du das anstellen, wenn du
    vornamen nachnamen und telefonnummer in die
    file schreiben willst?

    und geschweige wie willst du das ganze
    wieder einlesen?



  • einfach mal ein wenig in den c-tutorials lesen (ist nie falsch 😉 ), die auf der ersten seite stehen, und da kommt dann sowas:
    http://www.pronix.de/C/standard_C/c_programmierung_19_3.shtml#16

    wäre dann wohl die lösung



  • Original erstellt von elise:
    einfach mal ein wenig in den c-tutorials lesen

    Zwecklos, elise, er hat in seinem anderen Thread (mit gleichem Thema, aber etwas anderem Subject) bewiesen, das er nicht lesen kann!



  • danke elise, das tutorial hat mir schon ein wenich weitergeholfen...
    😉

    achja...hepi dich ignoriere dich einfach...



  • Original erstellt von <schon_wieder_der_bravo>:
    **das problem ist es muss fast alles in c sein...sonst gibts ärger vom dummen
    programmierprofex...

    hier mal der code...ich hoffe mir kann jetzt bald mal wer helfen...
    **

    Ne, wenn du nicht lesen willst und kein bisschen eigeninitiative zeigst wird dir hier wohl keiner helfen. //das wohl auch hso halb ^^

    Original erstellt von THE_FreaK:
    **EDIT:
    OK, also du willst structs speichern?! dann mach das binär! Erzeuge einen pointer auf das struct und hole dir mit sizeof die größe. dann schreibst du es mit fwrite() in die datei
    **

    /* Und Regg dich, dann is des mit den Gäste-benutzen-meinen-Nick Problemen auch vorbei! */
    Hatt sich wohl erledigt *g*

    [ Dieser Beitrag wurde am 03.06.2003 um 14:55 Uhr von THE_FreaK editiert. ]


Anmelden zum Antworten