Frage

Was ist der beste Weg, dies zu tun? tmpnam () gibt einen Pfad zu einer Datei im Stammverzeichnis des Laufwerks, das über Administratorrechte auf Windows Vista erfordert, so ist dies keine Option.

War es hilfreich?

Lösung

GetTempPath und GetTempFileName sollte funktionieren.

Andere Tipps

Die Umgebungsvariable% TEMP% auf Windows verweist auf die Benutzer Temp-Verzeichnis.

In verwalteten C ++ Sie Pfad aufrufen :: GetTempFileName (), die eine temporäre Datei im Temp-Verzeichnis Benutzer geben wird (die mit Pfad gefunden werden kann :: GetTempPath ()). GetTempFileName () im Grunde gibt Ihnen nur einen Pfad zu einer Datei im Verzeichnis% TEMP% Pfad eine GUID als Dateinamen verwenden. Sie verwenden dann diesen Pfad die Datei zu erstellen und das tun, was man will. Sie könnten in jeder Sprache eine ähnliche Logik tun, die den Zugriff auf die aktuellen Prozesse Umgebungsvariablen hat.

Ich hoffe, das hilft,

Martin.

Haben Sie versucht, mit der Umgebungsvariablen TEMP und TMP-Set in ein Verzeichnis beschreibbar von allen? Um Umgebungsvariablen in XP (nicht mit Vista) zu ändern, gehen Sie zu Systemeigenschaften, Registerkarte [Erweitert], [Umgebungsvariablen] -Taste.

Vielleicht könnten Sie die Win32-Methode GetTempPath () in kernel32.dll verwenden. Dies ist in .NET von System.IO.Path.GetTempFileName eingewickelt ().

Auf XP dies einen Pfad in C zurückgibt:. \ Dokumente und Einstellungen \ Benutzername \ Lokale Einstellungen \ Temp \, so sollten Sie keine Administratorrechte erforderlich

Wenn Sie sich über die Interoperabilität Pflege, die man-Seite für tmpnam schlägt vor:

tmpnam Manpage

BUGS
       Never use this function. Use mkstemp(3) instead.

mkstemp Manpage

SYNOPSIS
       #include <stdlib.h>

       int mkstemp(char *template);

DESCRIPTION
       The mkstemp() function generates a unique temporary file name from template.  The last six characters of template must be
       XXXXXX and these are replaced with a string that makes the filename unique. The file is then created with mode read/write

aber alle diese deuten darauf hin, dass Sie Ihre Vorlage mit vorangestelltem den Inhalt der TMP-Umgebungsvariablen vorbereitet haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top