Forum: C-Programmieren
Moderatoren: juergen, Martin ConradThema: Zeiger Problem!:(
Re: Zeiger Problem!:(
Maksi am 12.01.2012 um 19:22
[C-CODE]
Muss mich noch gewöhnen.:)
Ich habe mir gedacht sonst erkennt die Funktion (TStud unf FILE*f) nicht weil diese dann erst in der main vorkommen.
typedef struct TStud {
char name[20];
char gebdat [20];
char st[20];
char semester[10];
} Tstud;
TStud a;
FILE *f;
Tstud lesen(FILE*f){ // Heißt es das der Rückgabewert direkt an die TStud übergeben wird?
fscanf(f,"%s %s %s %s",a.name,a.gebdat,a.st,a.semester);
return printf("%s %s %s %s\n" ,a.name ,a.gebdat ,a.st ,a.semester);
}
char schreiben(FILE*f){
char b[0];
scanf("%s %s %s %s %c",&(a.name),&(a.gebdat),&(a.st),&(a.semester),&b[10]);
return fprintf(f,"%s %s %s %s" ,a.name ,a.gebdat ,a.st ,a.semester);
}
int _tmain(int argc, _TCHAR* argv[])
{
//TStud a;
//FILE *f;
f=fopen("Stud.txt","a+");
while(!feof(f)){
a=lesen(f);
}
char b[10]="0";
while(b[10]!='EOF'){
schreiben(f);
}
fclose (f);
[C-CODE]
[EDIT] - Re: Zeiger Problem!:(
bcc-fan am 12.01.2012 um 23:44
char schreiben(FILE*f)
{
char b[0]; // du erstellst hier ein Array mit 0 Feldern? wozu?
scanf("%s %s %s %s %c",&(a.name),&(a.gebdat),&(a.st),&(a.semester),&b[10]); // daraus folgt du liest/schreibst ins nirwana!
return fprintf(f,"%s %s %s %s" ,a.name ,a.gebdat ,a.st ,a.semester); // das funktioniert doch auch nicht so, oder?
}
Ins Nirwana hast du auch schon bei deiner ersten Version an der Stelle geschrieben!
Versuche deinen Quelltext noch mal mit Codetags zu versehen.
Am Anfang des Quelltextes brauchst du einen anderen als am Ende => /
MfG bcc-fan
--
C/C++
only just for fun
