strings....hilfe hilfe...
-
ich rede von strings...mehrzahl vons string...
es geht um folgendes:
struct sdaten{ char*Name; char*Nachname; char*TelefonNr; } int main(){ struct *daten=(sdaten*)malloc(sizeof(sdaten)); //reserviert 1 feld int index=0; do{ //eingabe der daten mit index index++; daten=(sdaten*)realloc(daten,sizeof(sdaten)*(index+1)); //feld erhoehen }while(...) //speichern der struktur //öffnen der struktur }
-
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#16wäre dann wohl die lösung
-
Original erstellt von elise:
einfach mal ein wenig in den c-tutorials lesenZwecklos, 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...