Falsche tempdatei
-
Hi, erstmal code, wie immer
char *tmpdir = "/tmp"; char *praefix = "tmp"; printf("%s\n", tempnam (tmpdir, praefix)); char *name; name = tempnam (tmpdir, praefix); tmpfile ();
Dazu muss ich sagen dass ich nicht so viel ahnung hab und ich hab auch wieder rumprobiert.
Ich wollte fragen, wieso kriege ich in Linux andere datei als die die ich mit dem programm rauskriege?
Und wie mach ich es richtig?Vielen dank
-
tmpfile() gibt dir ein FILE* zurueck. das solltest du irgendwo speichern...
was hat dein code eigentlich fuer einen sinn? zwei mal tempnam() aufrufen find ich etwas sinnlos.
-
na gut hier der ganze code:
char *tmpdir = "/tmp"; char *praefix = "L_tmpnam"; printf("%s\n", tempnam (tmpdir, praefix)); char *name; name = tempnam (tmpdir, praefix); tmpfile (); // schreiben in die temporaere Datei FILE *fz; fz = fopen (name, "w"); char maximo[20] = "maximostore.de.vu"; fputs (maximo, fz); fclose (fz);
wie siehts damit aus?
das erste ist dass man sieht welche datei es ist und das andere, diese datei zu öffnen
Wie gesagt, von tmp hab ich nicht so ahnung, deshalb nicht wundern.
-
erstmal fang neu an. den code kannste nicht mehr gebrauchen.
dann benutze tempnam() und kein tmpfile() wenn du den namen wissen willst.
wenn dir der name egal ist, benutze nur tmpfile() und kein tempnam().
such dir eins aus und dann sehen wir weiter.probier mal [cpp] tags. die sehen schoener aus als [code] tags.
-
naja, ich will unbedingt beide funktionen benutzen.
Und wie soll ich bitte von tmpfile den namen rauskriegen?
So gehts nicht:printf("TMP-Datei: %s\n",tmpfile ());
-
lies doch bitte wenigstens, was ich schreibe. ich will nicht alles dreimal sagen.
c.rackwitz schrieb:
...dann benutze tempnam() und kein tmpfile() wenn du den namen wissen willst.
wenn dir der name egal ist, benutze nur tmpfile() und kein tempnam().
such dir eins aus und dann sehen wir weiter.soll heissen:
wenn du den namen brauchst, benute nur tempnam().
wenn du den namen nicht brauchst, benutz tmpfile().soweit verstaendlich?
und wozu brauchst du beide funktionen? die funktionen kannst du zwar gleichzeitig benutzen, dann hast du aber auch am ende zwei files.
-
ich dachte tempnam ist für den namen
und tmpfile ist für FILE-Zeiger
Ich mach doch diese lernprogs, weisst noch?
Könntest du mir das zeigen wie denn das jetzt richtig funktioniert?
Vielen dank
-
tempnam() ist fuer den namen. aber aus dem namen musst du selber ne datei machen.
tmpfile() gibt dir einfach ein FILE* zurueck, ohne dass du den namen weisst.ich zeig dir erst was, wenn du die funktionen einzeln benutzen willst. vorher hats keinen sinn.
-
ok, was sollts
einzeln ist eh besseredit: was ist jetzt? Ich dachte du wolltest es mir zeigen?