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 :

Probléme pour récuperer le nom du Fichier API Windows


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut Probléme pour récuperer le nom du Fichier API Windows
    Bonjour,

    j'ai créé une fonction de monitoring de répertoire, tous compile bien, elle marche.

    Mais j'aurai besoin de récupérer le nom du fichier qui a était créé et je ne c'est absolument pas comment faire.


    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void RefreshDirectory(LPTSTR lpDir)
    {
     
       _tprintf(TEXT("Directory (%s) changed.\n"), lpDir);
    }

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    DWORD dwWaitStatus; 
    HANDLE dwChangeHandles[2]; 
     
     
     
    dwChangeHandles[0] = FindFirstChangeNotification( 
        "D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport",                
        FALSE,                        
        FILE_NOTIFY_CHANGE_FILE_NAME);  
     
    if (dwChangeHandles[0] == INVALID_HANDLE_VALUE) 
        ExitProcess(GetLastError()); 
     
     
     
    dwChangeHandles[1] = FindFirstChangeNotification( 
        "D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport",                        
        TRUE,                          
        FILE_NOTIFY_CHANGE_DIR_NAME);  
     
    if (dwChangeHandles[1] == INVALID_HANDLE_VALUE) 
        ExitProcess(GetLastError()); 
     
     
     
    while (TRUE) 
    { 
     
     
     
        dwWaitStatus = WaitForMultipleObjects(2, dwChangeHandles, 
            FALSE, INFINITE); 
     
        switch (dwWaitStatus) 
        { 
            case WAIT_OBJECT_0: 
     
                RefreshDirectory("D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport"); 
                if ( FindNextChangeNotification( 
                        dwChangeHandles[0]) == FALSE ) 
                    ExitProcess(GetLastError()); 
                    cout<< "coucou4";
                break; 
     
            case WAIT_OBJECT_0 + 1: 
     
                RefreshTree("D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport"); 
                if (FindNextChangeNotification( 
                        dwChangeHandles[1]) == FALSE) 
                    ExitProcess(GetLastError());
     
                break; 
     
            default: 
                ExitProcess(GetLastError()); 
        }
    }

    Si vous avez une idée ou une solution je suis preneur.

    Cordialement

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    As-tu regardé du côté du MSDN et en particulier de ReadDirectoryChangesW ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    oui, j'ai regarder sur msdn vu que j'ai utilisé les fonction associé a windows.h.
    Je m'en suis beaucoup inspirer.

    je check bien les modification de mon fichier (ajouter,renommer,suppression).


    Actuellement mon code me remonte une alerte pour c'est 3 cas.



    Mais pour continué mon programme, il me faudrait le nom du fichier, afin de pouvoir l'envoyer par l'intermédiaire de ma socket.


    Cordialement

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par thanks33 Voir le message
    oui, j'ai regarder sur msdn vu que j'ai utilisé les fonction associé a windows.h.
    Je m'en suis beaucoup inspirer.

    je check bien les modification de mon fichier (ajouter,renommer,suppression).


    Actuellement mon code me remonte une alerte pour c'est 3 cas.



    Mais pour continué mon programme, il me faudrait le nom du fichier, afin de pouvoir l'envoyer par l'intermédiaire de ma socket.


    Cordialement
    Visiblement, combiner ReadDirectoryChangesW et FindFirstChangeNotification ne semble pas fonctionner de façon aussi trivial que ne l'indique le MSDN
    En faisant quelques recherches sur google avec "ReadDirectoryChangesW", il y a des entrées avec des exemples. Tu devrais jeter un coup d'oeil là dessus.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    merci pour ton aide,


    je ne suis peu être pas très doué mais je n'ai toujours pas réussie.


    Help me please


    Cordialement

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    #include <windows.h>
    #include <string>
    #include <iostream>
     
    void WatchDirectory(LPTSTR lpDir);
    int main()
    {
       TCHAR Directory[MAX_PATH];
       GetCurrentDirectory(MAX_PATH,Directory);
       WatchDirectory(Directory);
     
       return 0;
    }
     
    struct ScopedLockHandle
    {
       ScopedLockHandle(HANDLE h_)
          :m_handle(h_)
       {}
       ~ScopedLockHandle()
       {CloseHandle(m_handle);}
    private:
       HANDLE m_handle;
    };
     
    void WatchDirectory(LPTSTR lpDir)
    {
      HANDLE hDir = CreateFile( 
        lpDir,
        FILE_LIST_DIRECTORY,
        FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        FILE_FLAG_BACKUP_SEMANTICS,
        NULL
      );
      if(hDir){
         ScopedLockHandle scoped(hDir);
         const unsigned nbr_item=1024;
         FILE_NOTIFY_INFORMATION Buffer[nbr_item];
         DWORD BytesReturned;
         while( ReadDirectoryChangesW(
            hDir,
            &Buffer,
            sizeof(Buffer),
            TRUE, /* monitoring option */
            FILE_NOTIFY_CHANGE_SECURITY|
            FILE_NOTIFY_CHANGE_CREATION|
            FILE_NOTIFY_CHANGE_LAST_ACCESS|
            FILE_NOTIFY_CHANGE_LAST_WRITE|
            FILE_NOTIFY_CHANGE_SIZE|
            FILE_NOTIFY_CHANGE_ATTRIBUTES|
            FILE_NOTIFY_CHANGE_DIR_NAME|
            FILE_NOTIFY_CHANGE_FILE_NAME, /* filter conditions */
            &BytesReturned, /* bytes returned */
            NULL, /* overlapped buffer */
            NULL))
         {
            FILE_NOTIFY_INFORMATION *p_cur = reinterpret_cast<FILE_NOTIFY_INFORMATION*>(&Buffer[0]);
            do{
               switch(p_cur->Action)
               {
               case FILE_ACTION_ADDED:
                  std::wcout<<L"File added : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               case FILE_ACTION_REMOVED:
                  std::wcout<<L"File removed : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               case FILE_ACTION_MODIFIED :
                  std::wcout<<L"File modified : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               case FILE_ACTION_RENAMED_OLD_NAME :
                  std::wcout<<L"File renamed old name : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               case FILE_ACTION_RENAMED_NEW_NAME :
                  std::wcout<<L"File rename new name : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               default:
                  std::wcout<<L"File unknown : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;
                  break;
               }
               p_cur = reinterpret_cast<FILE_NOTIFY_INFORMATION*>(reinterpret_cast<unsigned char*>(p_cur) + p_cur->NextEntryOffset);
            }while(p_cur->NextEntryOffset>0);
         }
      }
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Merci beaucoup de ton aide.


    ne connaissant pas la fonction wcout, j'ai fait quelque recherche sur le msdn

    sur ces liens :

    http://msdn.microsoft.com/en-us/libr...ca(VS.80).aspx

    http://msdn.microsoft.com/en-us/libr...ca(VS.71).aspx


    Mais quelque chose m'échappe, lors de la compilation voici erreur :

    `wcout' undeclared (first use this function)

    Or, d'aprés se que j'ai pu lire, wcout est contenue par la librairie :

    Donc je ne comprend pas pourquoi il y a cette erreur.


    Il y a quelque chose d'autre que je ne comprend pas dans le code que tu ma données en exemple.

    Pourquoi tu envoie a la fonction WatchDirectory la variable Directory alors qu'elle s'attend a recevoir une variable qui s'appelle lpDir?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void WatchDirectory(LPTSTR lpDir)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WatchDirectory(Directory);

    Cordialement

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,

    Citation Envoyé par thanks33 Voir le message
    Or, d'aprés se que j'ai pu lire, wcout est contenue par la librairie :

    Donc je ne comprend pas pourquoi il y a cette erreur.
    Tu es sous quel environnement ?

    Citation Envoyé par thanks33 Voir le message
    Il y a quelque chose d'autre que je ne comprend pas dans le code que tu ma données en exemple.

    Pourquoi tu envoie a la fonction WatchDirectory la variable Directory alors qu'elle s'attend a recevoir une variable qui s'appelle lpDir?
    Ce n'est pas tout à fait ça.
    Reprenons le code :
    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
    23
     
    void WatchDirectory(LPTSTR lpDir); // (1)
    int main()
    {
       TCHAR Directory[MAX_PATH];
       GetCurrentDirectory(MAX_PATH,Directory);
       WatchDirectory(Directory); // (2)
     
       return 0;
    }
    // [...] 
    void WatchDirectory(LPTSTR lpDir) // (3)
    {
      HANDLE hDir = CreateFile( 
        lpDir,
        FILE_LIST_DIRECTORY,
        FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        FILE_FLAG_BACKUP_SEMANTICS,
        NULL
      );
    // etc.
    Le premier (1):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void WatchDirectory(LPTSTR lpDir);
    Dit au compilateur qu'une fonction de nom WatchDirectory existe et qu'elle prend un paramètre de type LPTSTR et ne retourne rien. Cette première déclaration aurait pu se passer du nom de la variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void WatchDirectory(LPTSTR);
    Ensuite, dans la fonction main, on définit une variable TCHAR Directory[MAX_PATH]. TCHAR[]. LPTSTR correspond à un TCHAR*, donc on peut passer notre variable Directory comme argument à la fonction WatchDirectory (2).
    Dans la définition de la fonction WatchDirectory (3), on dit que le paramètre s'appele lpDir et que c'est sous ce nom que le paramètre est utilisé dans la fonction.

    Ce qu'il faut comprendre : une variable et son nom n'existe que dans la portée dans laquelle elle est définie - rapidement entre l'accolade ouvrante et l'accolade fermante qui la contient :
    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
     
    int main()
    {
       int var1; // var1 est connue à partir d'ici
       {
          int var2;// var2 est connue à partir d'ici
       }// var2 n'est plus connue à partir d'ici
    }// var1 n'est plus connue à partir d'ici
     
    void fonction(int par)// par est connu dans toute la fonction et uniquement dans celle-ci
    {
       int var3; 
       // ici, on ne connait que par et var3.
      // var1 et var2 ne sont pas connues car elles sont en dehors de la portée.
    }
    Si tu te poses ce genre de question, je ne peux que te recommander de potasser un petit cour de C++ pour assoir les bases du langage.

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Bonjour,

    Tu es sous quel environnement ?

    Je suis sous Windows avec comme IDE Dev-C++ version 4.9.9.2.


    Merci beaucoup pour ton explication je pensai que la variable envoyer en paramètre d'une fonction devait être la me même que lors de la définition de la fonction.


    Cordialement

  10. #10
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par thanks33 Voir le message
    Je suis sous Windows avec comme IDE Dev-C++ version 4.9.9.2.
    Il me semble que cet IDE n'est plus maintenu et présente parfois quelques anomalies. Si cela t'es possible, tu peux migrer vers Visual Express ou Code::Block/MinGW deux environnements gratuits et plus à jour. Tu peux trouver dans la page outils quelques infos.
    Sinon, pour répondre à ta question, je ne connais pas Dev C++ mais j'imagine que tu dois avoir probablement une directive UNICODE ou une option du projet à poser dans ce sens pour le problème du wcout.

  11. #11
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    je vai tester avec code-block je te tien au courant.


    Cordialement

  12. #12
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    j'ai essayé mon code avec code block

    l'erreur sortie est toujours la meme :

    error: `wcout' was not declared in this scope|

    Cordialement

  13. #13
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Question : tu utilises bien "std::wcout" ?

  14. #14
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wcout<<L"File added : "<<wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<endl;

    car j'ai cette ligne :


    Si je met les std:: au bon endroit comme ton exemple voici erreur :

    error: `wcout' is not a member of `std'|
    code testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::wcout<<L"File added : "<<std::wstring(p_cur->FileName,p_cur->FileNameLength/sizeof(p_cur->FileName[0]))<<std::endl;

    Voici mes librairie:

    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
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <winsock2.h>
    #include <windows.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __WIN__
    #include <sstream>
    #include <vector>                                                        
    #include <dirent.h>
    Cordialement

  15. #15
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par thanks33 Voir le message
    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
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <winsock2.h>
    #include <windows.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __WIN__
    #include <sstream>
    #include <vector>                                                        
    #include <dirent.h>

    Tu peux pas faire un peu de nettoyage ?
    Au passage :
    winsock2.h est inclus 2 fois.
    stdlib.h -> <cstdlib> déjà inclus
    stdio.h -> <cstdio>
    time.h -> <ctime>
    #define __WIN__ ????

  16. #16
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    merci pour les conseilles


    voici les librairie mise a jour:

    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
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <windows.h>
    #include <tchar.h>
    #include <cstdlib>
    #include <cstdio>
    #include <iostream>
    #include <ctime>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #include <sstream>
    #include <vector>

    Le problème ne vient pas de la, sa ne compile toujours pas avec la même erreur.

    Cordialement

  17. #17
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Et dans cet ordre :
    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
    #include <winsock2.h>
    #include <windows.h>
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <tchar.h>
    #include <cstdlib>
    #include <cstdio>
    #include <ctime>
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <string>
    #include <vector>  
    #include <limits>
    #include <MYSQL/mysql.h>
     
    using namespace std;

  18. #18
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Toujours la même erreur,

    je pense que l'ordre d'appel des librairies ne change pas grand chose.

    Cordialement

  19. #19
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par thanks33 Voir le message
    Toujours la même erreur,

    je pense que l'ordre d'appel des librairies ne change pas grand chose.

    Cordialement
    Chepaplus.
    Chez moi, je n'ai pas de problème avec std::wcout
    Désolé

  20. #20
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    j'ai trouvé pourquoi cella ne marche pas.

    dev-cpp et code-block utilisent mingw. Or celui-ci ne supporte pas les wide characters.
    C'est indiqué sur le site même de mingw : http://www.mingw.org/wiki/wide_characters

    La solution consisterait à utiliser des multibyte au lieu de wide char.
    Pour cela, il faudrait utiliser WideCharToMultiByte()

    Si tu peu toujours m'aider je suis pas contre

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2014, 17h43
  2. Problèmes pour accéder aux tags de fichiers sous windows xp
    Par clakinette dans le forum Windows XP
    Réponses: 1
    Dernier message: 14/08/2008, 17h18
  3. Réponses: 2
    Dernier message: 19/12/2006, 18h37
  4. Réponses: 2
    Dernier message: 20/03/2006, 20h56
  5. Problème pour faire une copie de fichier.
    Par damien99 dans le forum C++
    Réponses: 1
    Dernier message: 12/02/2006, 16h37

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