IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Créer un fichier dans le répertoire temporaire system


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Créer un fichier dans le répertoire temporaire system
    Salut à tous,

    Je suis plus que débutant en C++ (développeur J2EE, ça aide pas) et je n'arrive pas à comprendre comment créer un fichier temporaire avec le nom de mon choix dans le répertoire temporaire du système.

    J'ai besoin de ceci dans l'écriture d'une DLL, donc le répertoire visé est généralement du genre "C:/Document and Settings/user/Local Settings/Temp". Dans ce répertoire je veux y créer un fichier avec le nom de mon choix genre "VoilaMonFichier.txt".

    Or, les exemples que j'ai trouvé sur la msdn me permettent de créer un fichier temp au bon endroit certes, mais seulement de 3 lettres + un index + extension tmp (genre "Voi1.tmp").

    Voici le bout de code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
        HANDLE hFile;
        HANDLE hTempFile; 
        DWORD dwRetVal;
        DWORD dwBytesRead;
        DWORD dwBytesWritten; 
        DWORD dwBufSize=BUFSIZE;
        UINT uRetVal;
        TCHAR szTempName[BUFSIZE];  
        char buffer[BUFSIZE]; 
        TCHAR lpPathBuffer[BUFSIZE];
        BOOL fSuccess;
     
         // Get the temp path.
        dwRetVal = GetTempPath(dwBufSize,     // length of the buffer
                               lpPathBuffer); // buffer for path 
     
        // Create a temporary file. 
        uRetVal = GetTempFileName(lpPathBuffer, // directory for tmp files
                                  TEXT("Voi"),  // temp file name prefix 
                                  0,            // create unique name 
                                  szTempName);  // buffer for name
    C'est déjà limite du chinois quand on vient du monde Java et je n'arrive pas à m'en dépêtrer. J'espère qu'une âme charitable pourra venir à mon secours.

    Merci d'avance.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Points : 641
    Points
    641
    Par défaut
    Je vois que tu est sur Windows.

    Pour obtenir le chemin du dossier temporaire de Windows, c'est la fonction GetTempPath. Ensuite tu peux ajouter le nom de ton fichier en faisant simplement concatenation de chaine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         char st[MAX_PATH];
         GetTempPath(MAX_PATH, st);
         lstrcat(st, "nomdufichier.tmp");
    Maintenant que tu as le chemin complet à ton fichier il te suffis de le créer en théorie avec CreateFile sous Windows.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/03/2014, 16h29
  2. Réponses: 1
    Dernier message: 22/03/2013, 16h09
  3. [XL-2003] Enregistrer un fichier dans le répertoire temporaire de windows
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2010, 06h05
  4. Impossible de créer des fichiers dans un répertoire
    Par isabelle674 dans le forum Solaris
    Réponses: 11
    Dernier message: 24/01/2008, 00h04
  5. Réponses: 5
    Dernier message: 08/06/2007, 01h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo