Partage
  • Partager sur Facebook
  • Partager sur Twitter

Connaitre si un char est nul - C++

Sujet résolu
    3 mai 2022 à 18:44:28

    Salut

    Comment connaitre si une variable de type char est nulle, non initialisée ?

    strlen est pour les chaine de caractères(char*) et les autres methodes que j'ai trouvé concerne les chaines(char*) et non les caractères simples(char). Comment vérifier donc si un char est nul, sans avoir a lui appliquer des modifications ? 

    Avoir un code simple du genre 

    char ch;
    //
    //
    //
    std::string str = ch == null ? "Ceci" : "Cela";

    Cet exemple n'a rien a voir avec mon code, je veux juste savoir comment savoir quand un char est nul, NULL ne marche pas et nullptr est pour les pointeurs. Pour le moment j'initialise mon char puis je le compare plus tard a sa valeur initiale pour savoir si elle n'a pas été modifiée, mais c'est pas bon d'après moi..

    • Partager sur Facebook
    • Partager sur Twitter
      3 mai 2022 à 18:57:04

      char ch = '\0';
      ...
      ch == '\0'

      mais "non initialisé" et "est nul", c'est 2 choses différentes. Tu peux pas tester si c'est non initialisé (ca peut prendre une valeur aleatoire)

      -
      Edité par gbdivers 3 mai 2022 à 18:59:11

      • Partager sur Facebook
      • Partager sur Twitter
        3 mai 2022 à 19:48:51

        Je l'initialisais déjà avec comme valeur '\0' mais je me disais qu'il devait avoir un moyen de savoir si c'est non initialisé.

        >Tu peux pas tester si c'est non initialisé (ca peut prendre une valeur aleatoire)

        D'accord merci.

        • Partager sur Facebook
        • Partager sur Twitter
          4 mai 2022 à 1:10:25

          Il y a des méthodes très peu portables et bien relou, comme des accès variables générant des défaut des pages, des canaries, etc...

          Mais si c'est pour éviter les oublis d'initialisations, ton compilateur doit disposer de flags nécessaires  pour t'indiquer ces étourderies.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            4 mai 2022 à 3:16:56

            Exemple:
            (gcc -o aa aa.cpp -Wall -Wextra)
            -
            #include <iostream>
            int main(void) {
                int a = 0;
                int b;
                a += b;
                std::cout << a << std::endl;
            }
            -
            aa.cpp: In function 'int main()':                                                                                       
            aa.cpp:5:7: warning: 'b' is used uninitialized in this function [-Wuninitialized]                                       
                5 |     a += b;                                                                                                     
                  |     ~~^~~~
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

            Connaitre si un char est nul - C++

            × 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