Comment puis-je obtenir le chemin du dossier temporaire de l'utilisateur en C++? Mon programme doit fonctionner sous Windows Vista et XP et ils ont des chemins temporaires différents. Comment je peux l'obtenir sans perdre la compatibilité?Obtention du chemin du dossier temporaire de l'utilisateur sous Windows
Répondre
Y at-il une raison pour laquelle vous ne pouvez pas utiliser l'API Win32 GetTempPath?
Cette API est disponible à partir de W2K et donc sera disponible sur toutes vos cibles répertoriées.
La fonction GetTempPath récupère le chemin du répertoire désigné pour les fichiers temporaires. Cette fonction remplace la fonction GetTempDrive.
DWORD GetTempPath(
DWORD nBufferLength, // size, in characters, of the buffer
LPTSTR lpBuffer // address of buffer for temp. path
);
Paramètres
nBufferLength
Spécifie la taille, en caractères de la mémoire tampon de chaîne identifiée par lpBuffer.
lpBuffer
Points à un tampon de chaîne qui reçoit la chaîne à zéro terminal spécifiant le chemin de fichier temporaire.
Valeurs de retour
Si la fonction réussit, la valeur de retour est la longueur, en caractères, de la chaîne copié à lpBuffer, sans inclure le caractère nul final. Si la valeur de retour est supérieure à nBufferLength, la valeur de retour est la taille de la mémoire tampon requise pour conserver le chemin. Si la fonction échoue, la valeur de retour est zéro. Pour obtenir des informations d'erreur étendues, appelez GetLastError.
Remarques
La fonction GetTempPath obtient le chemin du fichier temporaire comme suit:
- Le chemin spécifié par la variable d'environnement TMP.
- Le chemin spécifié par la variable d'environnement TEMP si TMP n'est pas défini.
- Le répertoire en cours, si TMP et TEMP ne sont pas définis. GetTempPath ne fonctionnera pas sur Vista, sauf si les utilisateurs ont un accès administratif.
Vous devez créer un lien vers une documentation MSDN plutôt que de copier et d'enregistrer le contenu. – JaredPar
J'apprécierais à la fois l'information ET le lien.Le problème avec les liens est qu'ils pourrissent au fil du temps. –
-1 pour ne donner aucune indication qu'il s'agit d'une citation, pour ne pas avoir cité la source de la citation et pour avoir collé des informations périmées. –
Je suis confronté à ce problème en ce moment avec l'une de mes applications.
Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander une clarification d'un auteur, laissez un commentaire ci-dessous leur publication. –
Utilisez GetTempPath() pour récupérer le chemin du répertoire désigné pour les fichiers temporaires.
wstring TempPath;
wchar_t wcharPath[MAX_PATH];
if (GetTempPathW(MAX_PATH, wcharPath))
TempPath = wcharPath;
#include <iostream>
#include <string>
int main(int argc, char* argv[]){
std::cout << getenv("TEMP") << std::endl;
return 0;
}
- 1. Obtention du chemin du répertoire .NET Framework
- 2. Obtention du nombre d'utilisateurs connectés sous Windows
- 3. Obtention du chemin d'accès complet pour le service Windows
- 4. Obtention du chemin absolu d'un fichier
- 5. iPhone: Obtenir le chemin du fichier qui est dans le sous-dossier du dossier de ressources
- 6. Obtention du dossier Local AppData dans Haskell
- 7. Obtention du nom de groupe de l'utilisateur sous Windows
- 8. Obtention du chemin de fichier du module importé
- 9. Obtenir le chemin d'accès réel du dossier
- 10. Obtention du chemin d'accès d'origine à partir de FileStream
- 11. Définition du dossier de script par défaut du client MySQL Windows
- 12. Dossier temporaire/Emplacement pour SharePoint
- 13. dll copié dans le chemin de sortie du mauvais dossier
- 14. Comment obtenir le dossier temporaire pour l'utilisateur en cours
- 15. Windows batch - boucle sur la chaîne du dossier et analyse le nom du dernier dossier
- 16. Dans une application winforms .Net, comment puis-je obtenir le chemin du dossier temporaire de l'utilisateur actuel?
- 17. Obtention du chemin d'un répertoire, à l'intérieur d'un assemblage
- 18. Obtention de serveurs DNS sous Windows
- 19. Clé de Registre contenant le dossier du dossier Programmes de l'utilisateur local sous Vista
- 20. Script Bash: obtention de la sous-liste du fichier
- 21. Obtention de l'état du système en python
- 22. Comment puis-je obtenir le chemin du dossier des paramètres locaux de l'utilisateur actuel en C#?
- 23. Obtention du nom de la fenêtre active
- 24. Obtention du contenu de PropertyGrid?
- 25. Obtention du contenu d'iframe
- 26. Déterminer le nom du fichier dans un sous-dossier du fichier batch
- 27. Déverrouillage non intrusif du fichier sous Windows
- 28. Compilation du programme C++ sous Windows XP
- 29. Capture d'écran du processus sous Windows Service
- 30. Windows Forms, obtention d'une propriété du formulaire parent
Si vous êtes uniquement intéressé par les solutions de fenêtres, vous devez le placer dans le titre de votre question. –