2009-08-24 8 views

risposta

6

La funzione GetTempPath recupera il percorso della directory designata per i file temporanei. Questa funzione sostituisce la funzione GetTempDrive.

DWORD GetTempPath(

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

Parametri

nBufferLength

Specifica la dimensione, in caratteri, del buffer stringa identificato da lpBuffer.

lpBuffer

punti a un buffer di stringa che riceve la stringa alla terminazione Null che specifica il percorso del file temporaneo.

Valori restituiti

Se la funzione riesce, il valore restituito è la lunghezza, in caratteri, della stringa copiata lpBuffer, escluso il carattere nullo di terminazione. Se il valore restituito è maggiore di nBufferLength, il valore restituito è la dimensione del buffer richiesto per contenere il percorso. Se la funzione non riesce, il valore di ritorno è zero. Per ottenere informazioni sull'errore estese, chiama GetLastError.

Osservazioni

La funzione GetTempPath ottiene il percorso del file temporaneo come segue:

  1. Il percorso specificato dalla variabile di ambiente TMP.
  2. Il percorso specificato dalla variabile di ambiente TEMP, se TMP non è definito.
  3. La directory corrente, se TMP e TEMP non sono definiti.
+3

È necessario collegare a una documentazione MSDN invece di copiare e aprire il contenuto – JaredPar

+4

In realtà apprezzerei sia le informazioni che il collegamento.Il problema con i collegamenti è che marciscono nel tempo. –

+0

-1 per non indicare che si tratta di un preventivo, per non citare la fonte dell'offerta e per incollare informazioni non aggiornate. –

1

GetTempPath non funzionerà su Vista a meno che gli utenti non abbiano accesso amministrativo. Mi sto imbattendo in questo problema in questo momento con una delle mie app.

+0

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lasciare un commento sotto il loro post. –

2

Utilizzare GetTempPath() per recuperare il percorso della directory designata per i file temporanei.

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; 
}