C++ Code Problem

at0m1c

Mitglied
Hab ein Problem und zwar will ich Datum und Zeit in eine File schreiben lassen. Ausgeben lässt sich das Datum und die Zeit wunderbar im PROGRAMM aber in die File schreibt er nur 3 Buchstaben rein un zwar sieht des so aus : hÿ

Hier der Code:
void main()
{ date d;
time t;
/*Variablen Deklaration */
char date[10], time[9], datetime[20];
FILE *server_on;

/* Programm Ablauf */
/* Datums bzw. Zeitfunktionen */
getdate(&d);
date[10]=printf("%d.%d.%d",d.da_day, d.da_mon, d.da_year);

gettime(&t);
time[9]=printf(" %d:%d:%d",t.ti_hour, t.ti_min, t.ti_sec);
datetime[20]=printf("%s %s",date, time);
printf("%s \n",datetime);

/* Dateifunktionen zum Eintragen */
if(server_on=fopen("server_on.txt","w"))
printf("Datei server_on.txt wurde geöffnet zum Eintragen des Datums\n");
if(fputs(datetime,server_on))
printf("Datum und Zeit wurde eingetragen\n");
if(fclose(server_on))
printf("Datei wurde geschlossen");
}
 
Zuletzt bearbeitet:
seh ich das richtig, dass du den rückgabewert der printf()-funtkion in die datei schreibst? das kann doch auch eigentlich gar nicht funktionieren, weil die funktion nur den text am bildschirm ausgibt - der rückgabewert ist nur eine zahl.
 
Kannst du mir dann gleich erklären, wie ich des ohne printf in die Variable bekomm? ich habs probiert mit date="%d",d.da_year usw...geht aber net!
 
Sag mal, hast Du da selber irgendwelche Strukturen geschrieben! time, date, getdate?

Irgendwie ist das nicht ANSI-C!!!! Hab mir das Beispiel etwas genauer angeschaut aber komm eben an time und date nicht weiter!

Gib mal mehr Auskunft!
 
Irgendwie ist in Deinem Beispiel einiges durcheinander! Was Du da mit printf eingentlich machen willst ist mir schleierhaft! Na egal! Hab das Beispiel etwas umgeschrieben und mit sprintf (so wie es richtig sein sollte) gemacht!

Code:
int main(int argc, char* argv[])
{
	date d; 
	time t; 
	/*Variablen Deklaration */ 
	char date[10], time[9], datetime[20]; 
	FILE *server_on; 

	/* Programm Ablauf */ 
	/* Datums bzw. Zeitfunktionen */ 
	getdate(&d); 
	sprintf(date, "%d.%d.%d",d.da_day, d.da_mon, d.da_year); 

	gettime(&t); 
	sprintf(time, " %d%d%d",t.ti_hour, t.ti_min, t.ti_sec); 
	sprintf(datetime, "%s %s",date, time); 

	printf("%s \n",datetime); 

	/* Dateifunktionen zum Eintragen */ 
	if(server_on=fopen("server_on.txt","w")) 
	printf("Datei server_on.txt wurde geöffnet zum Eintragen des Datums\n"); 
	if(fputs(datetime,server_on)) 
	printf("Datum und Zeit wurde eingetragen\n"); 
	if(fclose(server_on)) 
	printf("Datei wurde geschlossen"); 

	getchar();

	return (0);
}
 
ok thx das des mit printf falsch war hab ich schon verstanden nur hat er es halt net richtig abgespeichert so wie ich es wollte.

Jetzt funktionierts thx!!
 

Neue Beiträge

Zurück