Getting user temporary folder path in Windows

后端 未结 9 1542
醉梦人生
醉梦人生 2020-12-30 00:45

How I can get the user\'s temp folder path in C++? My program has to run on Windows Vista and XP and they have different temp paths. How I can get it without losing compatib

相关标签:
9条回答
  • 2020-12-30 01:35

    The GetTempPath function retrieves the path of the directory designated for temporary files. This function supersedes the GetTempDrive function.

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

    Parameters

    nBufferLength

    Specifies the size, in characters, of the string buffer identified by lpBuffer.

    lpBuffer

    Points to a string buffer that receives the null-terminated string specifying the temporary file path.

    Return Values

    If the function succeeds, the return value is the length, in characters, of the string copied to lpBuffer, not including the terminating null character. If the return value is greater than nBufferLength, the return value is the size of the buffer required to hold the path. If the function fails, the return value is zero. To get extended error information, call GetLastError.

    Remarks

    The GetTempPath function gets the temporary file path as follows:

    1. The path specified by the TMP environment variable.
    2. The path specified by the TEMP environment variable, if TMP is not defined.
    3. The current directory, if both TMP and TEMP are not defined.
    0 讨论(0)
  • 2020-12-30 01:35
    #include <iostream>
    #include <string>
    
    int main(int argc, char* argv[]){
    
        std::cout << getenv("TEMP") << std::endl;
    
        return 0;
    }
    
    0 讨论(0)
  • 2020-12-30 01:37

    GetTempPath isn't going to work on Vista unless the users have administrative access. I'm running into that problem right now with one of my apps.

    0 讨论(0)
提交回复
热议问题