Zahlen in txt schreiben
-
Hallo zusammen.
Das ist ein Auszug aus einem Programm und ich kriege es einfach nicht zum laufen. Kann mir jemand helfen?
Es sollen ZAHLEN, von einem Struct (B1) in die Buchhaltung.txt geschrieben werden. Fehlermeldung steht unten.
Wäre euch sehr dankbar!FILE *Buchhaltungtxt; char Leerzeichen=' '; char Umbruch='\n'; Buchhaltungtxt = fopen ("Buchhaltung.txt", "w"); fputs(B1.iArtikelnummer, Buchhaltungtxt); fputc(Leerzeichen, Buchhaltungtxt); fputs(B1.iMenge, Buchhaltungtxt); fputc(Leerzeichen, Buchhaltungtxt); fputs(B1.fWert, Buchhaltungtxt); fputc(Leerzeichen, Buchhaltungtxt);
Fehlermeldung:
invalid conversion from `unsigned int' to `const char'*
-
fprintf
-
fprintf(B1.iArtikelnummer, Buchhaltungtxt); fputc (Leerzeichen, Buchhaltungtxt);
Dann kommt:...
invalid conversion from `unsigned int' to `FILE'
cannot convert `FILE*' to `const char*' for argument `2' to `int fprintf(FILE*, const char*, ...)'*
-
Du musst Formatierungszeichen benutzen.
-
du meinst mit char?
Dass habe ich auch schon versucht:
char cTest[20] = B1.iArtikelnummer; fputs(cTest, Buchhaltungtxt); fputc(Leerzeichen, Buchhaltungtxt);
Dann kommt:
invalid initializer
-
So in etwa geht das:
FILE* fp; int number = 1; fp = fopen ( ... fprintf ( fp, "%d", number );
-
B.B. schrieb:
So in etwa geht das:
FILE* fp; int number = 1; fp = fopen ( ... fprintf ( fp, "%d", number );
Yeah, Yeah, Yeah! Das klappt.
Ole!
Vielen Vielen Dank!Nur noch ein kleines Problem:
fprintf(Buchhaltungtxt,"%d",fPosWert); fputc(Leerzeichen, Buchhaltungtxt);
fPoswert ist ein float. In die *.txt wird immer eine 0 gespeichert...wieso?
-
Jeder Datentyp hat ein zugehöriges Formatzeichen, z.B. hat signed int das Zeichen %d,
double/float das Zeichen %f, usw.
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/