IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Problème de vocabulaire : Ouvrir Fichier


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut Problème de vocabulaire : Ouvrir Fichier
    Bonjour,

    Je désire effectuer le travail suivant :
    Dans une fonction C, j'ouvre 2 fichiers txt, ensuite je crée et sauvegarde un fichier html à partir des données qui se trouvent dans les fichiers txt.

    Lorsque le fichier html a été correctement sauvegardé, je désire ouvrir ce fichier dans le navigateur par défaut (Firefox)

    Je dois vraisemblablement avoir un problème de vocabulaire car chaque recherche effectuée avec les mots-clé "ouvrir" et "fichier" me donnent comme résultat la fonction qui me permet d'ouvrir un fichier dans cette fonction alors que je désire programmer une fonction qui me permet d'ouvrir un fichier à partir de cette fonction dans une autre application (Firefox en l'occurence)

    Quelqu'un peut il me donner une indication comment formuler ma requête pour que je reçoive les bonnes informations ?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Ce n'est pas évident.
    Ce que tu veux faire, c'est:
    • "forcer l'ouverture d'un fichier par le programme associé" (non-standard, puisque le C n'a aucune notion de "programme associé", et pour Linux il doit y avoir autant de notions "programme associé" différentes que d'environnements graphiques qui le supportent)
    • ou "exécuter un certain programme en lui demandant d'ouvrir le fichier" (ce que tu peux faire simplement avec la fonction system()) ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Citation Envoyé par Médinoc
    Ce n'est pas évident.
    Ce que tu veux faire, c'est:
    • "forcer l'ouverture d'un fichier par le programme associé" (non-standard, puisque le C n'a aucune notion de "programme associé", et pour Linux il doit y avoir autant de notions "programme associé" différentes que d'environnements graphiques qui le supportent)
    • Bonjour,

      Je suis sous environnement WinXP

      Je ne comprends pas exactement la notion de "forcer l'ouverture"
      Je veux "simplement" que lorsque le fichier est créé par la fonction, j'appelle une autre fonction qui ouvre le fichier html dans le navigateur, de préférence Firefox, sinon MSIE.

    • ou "exécuter un certain programme en lui demandant d'ouvrir le fichier" (ce que tu peux faire simplement avec la fonction system()) ?
  4. Oui en quelque sorte, j'ai lu le descriptif de la commande system()
    C'est un peu ce que je cherche à faire :
    - la fonction C ouvre le navigateur
    - la page html s'affiche dans le navigateur
    - l'utilisateur ferme le navigateur pour revenir dans l'application C

    Mais system() est une commande Linux et je suis sous Win...
    Merci de l'aide et bonne journée !

  • #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    1. Pour faire ouvrir un fichier par le programme associé, on utilise la fonction Win32 ShellExecuteEx(). Cela donne le même effet que si on avait double-cliqué sur le fichier dans l'explorateur.
    2. Si tu veux interrompre le programme original tant que le navigateur n'a pas été fermé, tu dois régler ShellExecuteEx() pour récupérer le handle du processus navigateur, et faire un WaitForSingleObject() dessus.
    3. system() n'est pas une fonction Linux, c'est une fonction standard. Elle marche parfaitement sous Win32. Mais elle ne permettra pas de bloquer le programme de départ, parce que le navigateur est un programme fenêtré et non un programme console.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  • #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Bonjour,

    Merci pour ces réponses rapides !!
    Il ne me reste plus qu'à plonger dans la documentation de ces fonctions.

    Dernière question :
    - Le bouton "Résolu" est il un flag ?
    C'est à dire, si je coche maintenant le bouton "Résolu" mais que plus tard, je désire poser une autre question dans ce sujet, puis je enlever le flag "Résolu" ou bien dois-je créer un nouveau sujet ?

    Merci et bonne journée !

  • #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Il me semble que tu peux le retirer.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  • #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Joratois
    Mais system() est une commande Linux et je suis sous Win...
    Ah ? C'est nouveau ça. Aux dernières nouvelles, system() est une fonction standard. Ca aurait changé pendant la nuit ?

  • #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Joratois
    - Le bouton "Résolu" est il un flag ?
    C'est à dire, si je coche maintenant le bouton "Résolu" mais que plus tard, je désire poser une autre question dans ce sujet, puis je enlever le flag "Résolu" ou bien dois-je créer un nouveau sujet ?
    Le principe, c'est une question par sujet, sinon, c'est la foire.

  • + Répondre à la discussion
    Cette discussion est résolue.
    ActualitésFAQ CTutoriels CLivres CCompilateurs et outils CSources CGTK+

    Discussions similaires

    1. Réponses: 2
      Dernier message: 23/02/2014, 16h30
    2. Macro : problème de mise à jour sans ouvrir fichier
      Par tomaix dans le forum Macros et VBA Excel
      Réponses: 2
      Dernier message: 21/12/2012, 16h08
    3. [VB6] ouvrir fichier sur glisser déplacer
      Par bhaal76 dans le forum VB 6 et antérieur
      Réponses: 6
      Dernier message: 15/04/2003, 17h04
    4. [langage] Problème de taille de fichier à mettre dans
      Par And_the_problem_is dans le forum Langage
      Réponses: 10
      Dernier message: 13/08/2002, 09h41
    5. Réponses: 2
      Dernier message: 29/05/2002, 20h43

    Partager

    Partager
    • Envoyer la discussion sur Viadeo
    • Envoyer la discussion sur Twitter
    • Envoyer la discussion sur Google
    • Envoyer la discussion sur Facebook
    • Envoyer la discussion sur Digg
    • Envoyer la discussion sur Delicious
    • Envoyer la discussion sur MySpace
    • Envoyer la discussion sur Yahoo