Variable vor Dateiname setzen, in C

Pfeiffer

Grünschnabel
Hi,

ich möchte unter C eine Datei anlegen,

wdatei = fopen("h:\\linux\\proxy\\entpackte\\auslesen.txt","w");

soweit so gut. Mein Problem ist jedoch, dass ich vor dem Dateinamen noch eine Variable unterbringen möchte, in welcher das Datum steht. Wie bekomme ich nun diese Variable davor?

Danke im Voraus
Andreas
 
Wo ist das Problem?
Meinst du so was:
Code:
char *datei = "h:\\linux\\proxy\\entpackte\\";
datei = strcat(datei, "2004-08-30");
datei = strcat(datei, "auslesen.txt");
 
Probiers mal so
Code:
CString Variable
wdatei = fopen("h:\\linux\\proxy\\entpackte\\"+Variable+"auslesen.txt","w");
In Variable kannst dann ja reinschreiben, was du willst
 
hi,

@ frager

So hatte ich mir das auch vorgestellt. Es funktionier ja, wenn ich einen Text zwischen die " " schreibe. Dann wird dieser auch angehängt, ersetze ich das was in " " steht duch meine Variable, dann bekomme ich nur noch das angezeigt, was in der variable datum1 steht, d.h. er hängt mir den Inhalt nicht hinter das was in datei steht sondern überschreibt dieses und gibt mir nur das aus was in datum1 steht und da fehlt noch das erste Zeichen. Ich habe datum1 mit char *datum1 deklariert und fülle die Variable später.

char *datei;
char *datum1;

datei = "h:\\linux\\proxy\\entpackte\\";
datum1= time.wday //hier hole ich mir mein Datum
datei = strcat(datei, datum1);
printf("%s\n",datei);

@michaelwengert

Die Deklaration CString erkennt mein Compiler nicht. Was für eine Bibliothek brauch ich denn dazu. Ich habe die string.h eingebunden.
 
Original geschrieben von frager
Code:
char *datei = "h:\\linux\\proxy\\entpackte\\";
datei = strcat(datei, "2004-08-30");
datei = strcat(datei, "auslesen.txt");
Sorry, nicht bös gemeint, aber KREISCH!

strcat hängt den Text an den String an. Der String liegt in der .EXE-Datei in einer Stringtable. Der angehängte Text wird mitten in den String-Table geschrieben.

Die Ausführung war schon richtig, wichtig ist, dass der Zielpuffer gross genug ist für den zusammengebauten String:
Code:
char  datei[300];

datei[0] = 0;
datei = strcat( datei, "h:\\linux\\proxy\\entpackte\\" );
datei = strcat( datei, "2004-08-30" );
datei = strcat( datei, "auslesen.txt" );
 
Zurück