Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ouverture d'un fichier avec un programme

argc et argv[] sour Mac OS 10.5.2 et xCode 3.1

    16 mars 2008 à 15:28:26

    Bonjour,
    je souhaiterai ouvrir un fichier avec une application que j'ai programmé.
    je choisis donc le fichier voulu, puis clic droit, ouvrir avec et je sélectionne mon application qui s'ouvre normalement.
    argc possède la valeur 2 ce qui est normal: l'adresse du prog et celle du fichier. mais quand je fais argv[1], je n'obtiens absolument pas l'adresse du fichier mais la valeur : "-psn_0_843982"...
    je met la boucle que j'utilise pour afficher les chaines :
    1. for (int i = 0; i < argc; i++)
    2. {
    3.       std::cout << "argv[" << i << "] = "<< argv[i] << std::endl;
    4. }

    Est-ce que quelqu'un aurait une idée ?
    merci
    Mwa.
    • Partager sur Facebook
    • Partager sur Twitter
      16 mars 2008 à 16:03:53

      Montre tout car chez moi (windows) tout fonctionne bien.
      • Partager sur Facebook
      • Partager sur Twitter
      :)
        16 mars 2008 à 16:13:40

        Il s'agit donc du tout début d'une application QT. pour le moment elle est composée de 3 fichiers:
        -main.cpp:
        1. #include <iostream>
        2. #include <QtGui>
        3. #include "OpenFile.h"
        4. int main (int argc, char * const argv[]) {
        5. OpenFile(argc,argv);
        6. return 0;
        7. }

        -OpenFile.h:
        1. #ifndef OPENFILE_H
        2. #define OPENFILE_H
        3. # include <string>
        4. # include <istream>
        5. void OpenFile(int argc, char * const argv[]);
        6. #endif

        -OpenFile.cpp
        1. #include "OpenFile.h"
        2. void OpenFile(int argc, char * const argv[]){
        3. for (int i = 0; i < argc; i++)
        4. std::cout << "argv[" << i << "] = "<< argv[i] << std::endl;
        5. }

        • Partager sur Facebook
        • Partager sur Twitter
          16 mars 2008 à 16:18:36

          essais :

          1. int main (int argc, char * const argv[]) {
          2. QApplication app(argc,argv);
          3. OpenFile(argc,argv);
          4. return 0;
          5. }


          En effet, Qt enlève de la liste les commandes qu'il reconnait. (vue que c'est une application Qt)
          • Partager sur Facebook
          • Partager sur Twitter
          Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
            16 mars 2008 à 16:28:00

            Bizarrement, lorsque je rajoute QApplication app(argc,argv); en laissant char* const argv[], il me met une erreur, donc j'ai retiré le "const" et là, la compilation se passe bien mais lorsque je fais ouvrir avec cette application sur un fichier, argc a une valeur de 1 au lieu du 2 habituel (lorsqu'on ouvre un fichier),
            n'ayant toujours pas l'adresse, le fichier ne s'ouvre pas avec l'application.

            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2008 à 18:06:56

              Quelqu'un aurait une idée pour résoudre ce problème ?
              • Partager sur Facebook
              • Partager sur Twitter

              Ouverture d'un fichier avec un programme

              × 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