2009-08-24 11 views

Odpowiedz

6

Funkcja GetTempPath pobiera ścieżkę do katalogu przeznaczonego dla plików tymczasowych. Ta funkcja zastępuje funkcję GetTempDrive.

DWORD GetTempPath(

DWORD nBufferLength, // size, in characters, of the buffer 
LPTSTR lpBuffer // address of buffer for temp. path 
); 

Parametry

nBufferLength

określenie wielkości, w postaci, w buforze ciąg zidentyfikowane przez lpBuffer.

lpBuffer

Punkty do bufora strun, która odbiera ciąg NUL określające tymczasową ścieżkę do pliku.

Zwracane wartości

Jeśli funkcja się powiedzie, wartość zwracana jest długość, w znakach, struny skopiowany do lpBuffer, nie licząc kończącego znaku null. Jeśli wartość zwracana jest większa niż nBufferLength, wartość zwracana jest rozmiarem bufora wymaganego do przechowywania ścieżki. Jeśli funkcja nie działa, wartość zwracana wynosi zero. Aby uzyskać rozszerzone informacje o błędach, wywołaj GetLastError.

Uwagi

Funkcja GetTempPath dostaje tymczasowe ścieżki pliku w następujący sposób:

  1. Ścieżka określona przez zmienną środowiskową TMP.
  2. Ścieżka określona przez zmienną środowiskową TEMP, jeśli TMP nie jest zdefiniowana.
  3. Katalog bieżący, jeśli zarówno TMP, jak i TEMP nie są zdefiniowane.
+3

Powinieneś połączyć się z dokumentacją MSDN, a nie kopiować i otwierać zawartość. – JaredPar

+4

Byłbym wdzięczny za informację i link.Problem z linkami polega na tym, że gniją z czasem. –

+0

-1 za brak wskazania, że ​​jest to oferta cenowa, za nie cytowanie źródła oferty oraz wklejanie nieaktualnych informacji. –

1

GetTempPath nie będzie działać na Vista, chyba że użytkownicy mają dostęp administracyjny. W tej chwili mam problem z jedną z moich aplikacji.

+0

Nie zapewnia to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, zostaw komentarz pod swoim postem. –

2

Użyj funkcji GetTempPath(), aby pobrać ścieżkę do katalogu przeznaczonego dla plików tymczasowych.

wstring TempPath; 
wchar_t wcharPath[MAX_PATH]; 
if (GetTempPathW(MAX_PATH, wcharPath)) 
    TempPath = wcharPath; 
3
#include <iostream> 
#include <string> 

int main(int argc, char* argv[]){ 

    std::cout << getenv("TEMP") << std::endl; 

    return 0; 
}