Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction qui retourne une string

    17 juin 2006 à 13:36:20

    Salut.
    Je n'arrive pas à faire une fonction qui retourne une chaîne de charactère. Voici un exemple de code :
    #include <cstdlib>
    #include <iostream>

    using namespace std;

    char String()
    {
        return 'String';
    }

    int main(int argc, char *argv[])
    {
        printf("La chaine de charactere est %s\n", String);
        system("PAUSE");
        return EXIT_SUCCESS;
    }


    Ca m'affiche "La chaine de charactere est UëÕ©g" au lieu de "La chaine de charactere est String". Comment faire ?
    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2006 à 13:39:01

      Avec quoi tu compiles pour qu'il te laisse passer l'horreur :
      'String' (entre simple ') ????

      Tu es sûr de savoir ce que tu veux faire entre C et C++ ?

      Explique nous avant qu'on prenne peur.
      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2006 à 13:49:33

        Je compile avec Dev-C++. Normalement ce code est du C++. Je me suis juste gourré en choisissant le code pour l'afficher.
        Je veux juste faire une fonction qui retourne une string. Mais je sais pas comment faire ! Un char, oui, mais un char[], non...
        #include <cstdlib>
        #include <iostream>

        using namespace std;

        char Charactere()
        {
            char charactere = 's';
            return charactere;
        }

        int main(int argc, char *argv[])
        {
            printf("La chaine de charactere est %c\n", Charactere());
            system("PAUSE");
            return EXIT_SUCCESS;
        }

        Ca ca marche. ("La chaine de charactere est s").
        D'ailleur je me suis gourré dans le code tout à l'heure.
        printf("La chaine de charactere est %c\n", String());
        au lieu de
        printf("La chaine de charactere est %c\n", String);
        • Partager sur Facebook
        • Partager sur Twitter
          17 juin 2006 à 13:52:33

          Si tu fais du C++

          #include <string>
          #include <iostream>

          using namespace std;

          string func()
          {
              return "Hi !"; //on utilise le constructeur string(const char*)
          }


          int main(int argc, char * argv[])
          {
              cout << func() << endl;
              return 0;
          }


          Où est le problème ?
          • Partager sur Facebook
          • Partager sur Twitter
            17 juin 2006 à 13:54:22

            Bon à mon avis tu confond tout, le type string de la STL est une classe pas un type char !

            Revois ton cours ou le support que tu utilises pour apprendre parce que là tu va dans le mur.

            • Partager sur Facebook
            • Partager sur Twitter
              17 juin 2006 à 14:40:37

              Le problème n'est pas là !

              Citation : Kayl

              Avec quoi tu compiles pour qu'il te laisse passer l'horreur :
              'String' (entre simple ') ????

              Tu es sûr de savoir ce que tu veux faire entre C et C++ ?

              Explique nous avant qu'on prenne peur.



              Kayl a vu le problème dès le premier post mais personne n'y a fait attention il a mis un simple quote (') au lieu d'un double (") !
              (Par contre je savais pas qu'on pouvais retourner une chaine ! C'est valable en C aussi ?)
              • Partager sur Facebook
              • Partager sur Twitter
                17 juin 2006 à 14:45:31

                Retourner une chaine, non je ne pense pas mais l'adresse de son premier élément si
                • Partager sur Facebook
                • Partager sur Twitter
                  17 juin 2006 à 15:22:20

                  En même temps, une chaine c'est juste un tableau. Donc il n'a qu'à envoyer le tableau qu'il veut récupérer comme l'un des arguments et il sera modifié en conséquence.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 juin 2006 à 15:33:43

                    C'est impossible de retourner une chaine en C...
                    Lit le lien que j'ai posté j'ai déja expliqué qu'il y a 2 possibilités :
                    - Modifier un tableau passé en argument
                    - Retourner le pointeur sur le premier élément d'un tableau modifié.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Fonction qui retourne une string

                    × 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