Partage
  • Partager sur Facebook
  • Partager sur Twitter

Une concectation en C++

comment on la fait ?

    20 janvier 2006 à 17:22:04

    slt les zér0s !

    j'ai un problème concernant C++ :

    comment fait-on une concectation ?

    car j'aimerai bien faire un truc du genre :

    char fichierAVisualiser[150];
    printf("Bonjour, entre le nom de fichier a visualiser (point de départ C:\\) :\n");
    cin >> fichierAVisualiser;
    // Là faire un system(); avec de la concectation
    system("TYPE c:\".fichierAVisualiser); // Ou un truc de ce genre là


    merci d'avance ;)

    ++ :)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 janvier 2006 à 17:24:45

      Concectation n'est pas un mot francais. Ni anglais. Ni allemand. Ni italien. Ni russe. Ni espagnol. Ni arabe.
      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2006 à 17:29:58

        arf oui ^^ la concectation éxiste pas...

        c'est la concaténation ^^

        dsl... :euh:

        merci pour vos réposes

        ++
        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2006 à 17:31:51

          Avec la classe string : l'opérateur '+'
          Avec les char[] : strcat (dans string.h)
          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2006 à 17:35:32

            Citation : Elentar

            Avec les char[] : strcat (dans string.h)



            merci mais c'est quoi strcat ? o_O
            ca veut dire qu'il faut que j'inclut string.h mais apres c'est quoi cette fonction ? o_O

            ++
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2006 à 17:36:56

              http://www.cplusplus.com/ref/cstring/strcat.html
              Quand on ne connais pas le nom d'une fonction : Google, y'a plein de doc ;)
              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2006 à 17:46:29

                En fait, ya beaucoup de manières de faire, surtout en C (par habitude culturelle je dirais...), notamment en utilisant les pointeurs ; ex :

                En C++ :

                #include <string>
                #include <cstdlib>

                std::string s = "TYPE C:\\", is;
                std::cin >> is;
                std::system((s += is).c_str());

                // quelque chose dans ce genre là je pense ; en C :

                #include <string.h>
                #include <stdlib.h>

                #define PREFIX "TYPE C:\\"

                char buf[100] = PREFIX;
                fgets(buf + sizeof PREFIX, sizeof buf - sizeof PREFIX, stdin);
                buf[strlen(buf) - 1] = '\0';
                system(buf);

                /* ou quelque chose du genre, en fait, il y a 40 façons de faire ce que tu veux selon précisément ce que tu veux ; on pourrait par exemple utiliser ici scanf mais ça risque de rendre le code légèrement plus gore, pour les débutants c'est bof lol */

                edit: corrections mineures, j'étais allé trop vite...
                • Partager sur Facebook
                • Partager sur Twitter
                  20 janvier 2006 à 17:57:57

                  :euh: j'ai pas très bien compris le truc...
                  j'ai inclut ce qu'il fallait suivi ce qu'il y avait dans le cour et rien... le compilateur me dit que l'opérateur + éxiste pas...

                  (d'ailleur ce site est super-copié du SDZ o_O)

                  merci d'avance...

                  PS : Je comprend rien au std::system(is + 0), str); chépa quoi :/
                  car je sais pas comment l'intégrer à mon code :-°
                  merci quand même ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 janvier 2006 à 18:04:46

                    Déjà je te déconseille d'utiliser les solutions à rz0 dans ton cas, elles sont d'un grand intérêt théorique mais de façon pratique, on cherche à faire le code le plus clair possible, donc on va au plus simple :p Mais bien sûr, c'est toujours bon à savoir.
                    Pour la classe string : http://www.msoe.edu/eecs/cese/resources/stl/string.htm
                    Le tout premier exemple est ce que tu cherches à faire.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 janvier 2006 à 18:55:04

                      dsl, mais ya rien qui marche o_O

                      il me met

                      cannot convert 'std::string' to 'const char*' for argument '1' to 'int system(const char*)'

                      l'éerreur est à la ligne 19

                      voici la ligne 17, 18 et 19 (je fais un test sur autre chose cette fois) :

                      string messagecommand;
                      messagecommand = "net send " + adresseip + " " + messageun;
                      system(messagecommand); // Ligne désignée comme bugguée par le compilateur o_O


                      il y a plus haut
                      string adresseip, messageun;

                      comment arreter ce bug ?

                      merki !

                      PS : en haut il y a

                      #include <string>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 janvier 2006 à 19:08:48

                        Il faut utiliser c_str() comme je l'ai montré :
                        system(tastring.c_str());
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Une concectation en 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