Infobeleg: Daten aus Textdatei einlesen
-
fscanf will einen FILE*, keinen char*
c referenz:
http://www.dinkumware.com/manuals/reader.aspx?b=c/&h=index.html
-
Hallo
Leider erschließt sich mir der Zusammenhang nicht, denn wenn ich es so:
FILE *Info,*Brief,*Datei; int k,Nummer =00001; char puffer[500],Text,Resultat;
mache, kommen diese Fehlermeldungen:
error C2440: '=' : 'char *' kann nicht in 'struct _iobuf *' konvertiert werden
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformaterror C2446: '!=' : Keine Konvertierung von 'int' in 'struct _iobuf *'
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformaterror C2040: '!=' : 'struct _iobuf *' unterscheidet sich von 'int' in bezug auf die Anzahl vorgenommener Dereferenzierungen
-
hoerst du zu?
fscanf will keinen char*, sondern einen FILE*.
Datei ist ein char*/char[], also falsch.
-
Ey mal nicht so derbe!!
Bin noch Anfänger, wie du vielleicht gelesen hast.ich hab doch jetzt FILE *Datei, was gibt es denn da dran auszusetzen?
-
deine fehlermeldungen haben aber immernoch keinen bezug zu irgendwelchem code.
ausserdem sagen mir deine fehlermeldungen, dass du den fehler nicht behoben hast oder die meldungen noch alt sind.edit: poste einen ganzen code. gib mir was zum arbeiten, wenn du schon hilfe willst. ich kann ja wohl schlecht aus ner glaskugel lesen.
-
Code steht zwar schon auf der 1. Seite, aber hier nochmal:
#include "conio.h" #include "stdio.h" #include "string.h" #define g 500 struct Kunde {char Vorname[15];char Nachname[20];int Geschlecht;char Adr_Str[30];char Adr_Ort[20];char Betreff[17];}; struct Kunde kunde; void main() { FILE *Info,*Brief,*Datei; int k,Nummer =00001; char puffer[g],Text[g],Resultat[g]; Info= fopen("c:\\kunde.txt","r"); Datei= fgets(puffer,120,Info); //Get struct from Kunde.txt while(Datei!='\n') { //fgets(puffer,120,Info); fscanf(Datei,"%s%s%d%s%s%s", &kunde.Vorname, &kunde.Nachname, &kunde.Geschlecht, &kunde.Adr_Str, &kunde.Adr_Ort, &kunde.Betreff); } printf("DAtei enthält: %s%s",kunde.Vorname,kunde.Nachname);
-
PlattitüdenAbonennt schrieb:
Code steht zwar schon auf der 1. Seite, aber hier nochmal:
...edit...snip...
Datei= fgets(puffer,120,Info);
Was soll denn hier passieren?
char puffer[g]
Sollte auch nicht gehen
char* puffer = new char[g]
-
Gast25250 schrieb:
char puffer[g]
Sollte auch nicht gehen
Warum nicht?
Gast25250 schrieb:
char* puffer = new char[g]
In C?
-
Datei= fgets(puffer,120,Info);
Na hier sollen eingentlich Zeile für Zeile später einmal die einzelnen Kundendaten in ein Strukturfeld geladen werden
-
Datei ist ein dateihandle, also nur ziel des rueckgabewertes von fopen.
fgets gibt keine dateihandles zurueck.das moechtest du gerne lesen:
http://www.pronix.de/pronix-4.html