Partage
  • Partager sur Facebook
  • Partager sur Twitter

l'argument de type "WCHAR" est incompatible ......

    19 juin 2019 à 10:45:04

    Salut j'espere que vous allez bien 

    J'ai ici un petit problème , 

    ils m'ont dit l'argument de type  "WCHAR" est incompatible avec le parametre de type "const char*"

    le voila le code : if (!strcmp(procName, procEntry32.szExeFile))

    merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2019 à 14:35:36

      Je ne pense pas que ton code se résume à une ligne (ou du moins la partie concernée par le problème ne se résume pas ainsi).

      Tu utilises visual studio ?

      • Partager sur Facebook
      • Partager sur Twitter
        20 juin 2019 à 10:57:48

        Didy7 a écrit:

        Je ne pense pas que ton code se résume à une ligne (ou du moins la partie concernée par le problème ne se résume pas ainsi).

        Tu utilises visual studio ?


        Oui Visual Studio 2019, vous voulez tout le code ou la premiere partie??

        -
        Edité par ZACKJR 20 juin 2019 à 10:58:00

        • Partager sur Facebook
        • Partager sur Twitter
          21 juin 2019 à 14:03:29

          Le type WCHAR est un type wide character

          Or, la fonction strcmp ne prend que des char*, pas des wchar_t* 

          Essaye avec wcscmp

          • Partager sur Facebook
          • Partager sur Twitter
            21 juin 2019 à 15:11:14

            ZACKJR a écrit:

            Salut j'espere que vous allez bien 

            J'ai ici un petit problème , 

            ils m'ont dit l'argument de type  "WCHAR" est incompatible avec le parametre de type "const char*"

            le voila le code : if (!strcmp(procName, procEntry32.szExeFile))

            merci d'avance



            Dans ce cas je te laisse regarder ce topic.

            https://openclassrooms.com/forum/sujet/visual-studio-const-char-is-incompatible-with-p

            A+

            • Partager sur Facebook
            • Partager sur Twitter
              21 juin 2019 à 15:29:03

              BlackTibo a écrit:

              Le type WCHAR est un type wide character

              Or, la fonction strcmp ne prend que des char*, pas des wchar_t* 

              Essaye avec wcscmp


              Bon malheureusment ça n'a pas marché avec ce code if (!wcscmp (procName,procEntry32.szExeFile))

              ils m'ont dit que : l'argument de type "char *" est incompatible avec le parametre de type "const wchar_t *"

              Est ce qu'il y'a une methode pour ecrire ce code d'une autre maniere , sans changer ses fonctionement?

              sinon merci pour votre aide

              • Partager sur Facebook
              • Partager sur Twitter
                21 juin 2019 à 16:04:46

                Je suppose que tu compares des données de type différent pour qu'aucune de ces fonctions ne fonctionne (procName est un const char* alors que procEntry32.szExeFile est un const wchar_t*, ou l'inverse)

                d'ailleurs, pourquoi ne pas profiter des fonctionnalités du C++ et manipuler des string ou des string_view ?

                • Partager sur Facebook
                • Partager sur Twitter
                Dream on, Dream on, Dream until your dream comes true
                  21 juin 2019 à 19:35:24

                  romantik a écrit:

                  Je suppose que tu compares des données de type différent pour qu'aucune de ces fonctions ne fonctionne (procName est un const char* alors que procEntry32.szExeFile est un const wchar_t*, ou l'inverse)

                  d'ailleurs, pourquoi ne pas profiter des fonctionnalités du C++ et manipuler des string ou des string_view ?

                  donc comment je peux ecrire ce code?



                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 juin 2019 à 9:15:19

                    quel code ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Dream on, Dream on, Dream until your dream comes true
                      25 juin 2019 à 12:35:33

                      Soit en utilisant des API du même "monde", qui auront donc des types "compatibles" les uns avec les autres.

                      Soit utiliser les outils de conversion d'un type vers un autre.

                      Moi, je vous conseille d'avoir en fin de compte les types les plus polyvalents en bout de chaine, donc out le "char*" tout moisi.

                      Donc, soit vous utilisez une API qui ne sort pas un truc aussi pourri qu'un "char*", soit vous convertissez votre "char*" (qui est plus une string C) en wchar_t.

                      https://lmgtfy.com/?q=char*+to+wchar_t*

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                      l'argument de type "WCHAR" est incompatible ......

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown