Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire TOUTES les données entrées

Sujet résolu
Anonyme
    5 octobre 2007 à 18:59:15

    Bonjour, j'essaye de créer un petit programme tous bidon en console, dont voici le code :

    1. #include <iostream>
    2. using namespace std;
    3. int main()
    4. {
    5.     //on initialise la variable PATH correctement pour cette session
    6.     system("qtvars.bat");
    7.     //rafraichissement de la console
    8.     system("cls");
    9.     //un jolie titre
    10.     system("title EasyBuilt_Qt 1.0");
    11.     system("color f0");//noir sur blanc c'est mieux non?
    12.         cout << "\n\t\t\t----------------------" << endl;
    13.         cout << "\n\t\t\t---EasyBuilt_Qt 1.0---" << endl;
    14.         cout << "\n\t\t\t----------------------\n\n\n" << endl;
    15.         cout << "Entrez le chemin complet du repertoire de votre fichier .PRO, sans espace, avec le slash de fin." << endl;
    16.         string way;
    17.     cin >> way;
    18.     cout << "\n" << endl;
    19.         cout << "Entrez le nom de votre fichier .PRO, sans extension." << endl;
    20.         string file_pro;
    21.         cin >> file_pro;
    22.     cout << "\n\n" << endl;
    23.         file_pro += ".pro";
    24.         string file = way + file_pro;
    25.     string building = "qmake -o Makefile " + file;
    26.     system(building.c_str());//je fait appelle a qmake
    27.     system("make");//puis au compilo
    28.     cout << "\n\nCompilation terminee" << endl;
    29.     system("pause");
    30.         return 0;
    31. }


    Voila, mon problème c'est que je voudrai qu'on puisse mettre des chemins dont les noms contiennent des espaces, mais cin ne le permet pas.
    Connaissez vous un moyen de faire ceci, ou alors est ce que je fait une méthode quit me permet de marquer la fin de la chaine, comme par exemple les " dans cmd.exe??

    Merci d'avance, et en attendant j'essaye la méthode du carac de fin
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      5 octobre 2007 à 19:10:05

      Avec getline(std::string, buffer) ça marche.

      PS : pour ton programme, un simple bat exécuté depuis le dossier du projet est plus simple :-°

      Ce bat ne fait que qmake et make (sans option*) et ça joue assez bien (je fais comme ça et ça roule pour moi).
      *cela signifie que le fichier pro est déjà créé.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        5 octobre 2007 à 19:16:15

        Merci beaucoup, mais de quel fichier bat tu parle?

        c'est vrai que si le programme fonctionne déjà, autant ne pas s'embetter a le refaire!


        et avec ta technique, je créé quand même le fichier pro, si j'ai iben compris?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          5 octobre 2007 à 19:20:16

          Je te laisse lire mon tuto pour plus d'info sur le .pro (je fais comme dans mon tuto personnellement).
          Il faut que j'ajoute une partie bientôt sur justement le bat.
          J'ai fichier comme ce-ci :
          1. qmake
          2. make

          Et c'est tout pour la compilation.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            5 octobre 2007 à 19:23:29

            ok, merci^^
            et pour ce qui est du .pro, j'ai vite lut la doc, donc je pense que ca ira pour le moment!

            Voila, maintenant je passe a la prochaine étape, pouvoir passer le fichier pro en argument!
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              5 octobre 2007 à 19:25:48

              Citation : Geoffroy

              et pour ce qui est du .pro, j'ai vite lut la doc, donc je pense que ca ira pour le moment!

              Ben c'est parfait! Il a tout dedans.
              • Partager sur Facebook
              • Partager sur Twitter

              Lire TOUTES les données entrées

              × 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