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 :

Ecriture dans un fichier ouvert avec fopen


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mackla
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 140
    Par défaut Ecriture dans un fichier ouvert avec fopen
    bonjour,

    voici mon code
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX_URL 5
    #define LONG_URL 20
     
    typedef struct {
             char source[LONG_URL+1];
             char target[LONG_URL+1];
    }urls;
    urls url[MAX_URL];
     
    void ajouterurl()
    {
     FILE *ptr;
     int i=0;
     
     ptr=fopen("mappages", "a+");
     if (ptr==NULL)
       {
         printf("erreur lors de création du fichier\n");
       }
       else
       {
       for (i; i<=MAX_URL; i++)
         {
           fprintf(ptr, "entrer l'url sources:\n");
           fscanf(ptr,"%s\n", &url[i].source);
    //ici je veut mettre une instruction qui permet à l'utilisateur de saisir d'abord l'url source, et quand il tappe entré, le message entrer url cible apparait pour saisir l'url cible. 
           fprintf(ptr, "entrer l'url cible:\n");
           fscanf(ptr,"%s\n", &url[i].target);
         }
       }
      fclose(ptr);
    }
     
    main()
    {
     ajouterurl();
    }

    pouvez vous m'écliarer svp ?

  2. #2
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Ce que je peux te dire c'est ce que fait ton programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ptr=fopen("mappages", "a+");
    Il ouvre un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(ptr, "entrer l'url sources:\n");
    Il y écrit "entrer l'url sources:\n".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fscanf(ptr,"%s\n", &url[i].source);
    Il (essai de) y lit une ligne.
    ...

  3. #3
    Membre confirmé Avatar de mackla
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 140
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fscanf(ptr,"%s\n", &url[i].source);
    permet à un utilisateur de saisir une url.

    ce que je veut: lorsqu'il termine la saisi de l'url et frappe sur "entrée"
    la deuxième phrase apparait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(ptr, "entrer l'url cible:\n");

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Citation Envoyé par mackla Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fscanf(ptr,"%s\n", &url[i].source);
    permet à un utilisateur de saisir une url.
    Non, cela ne le permet pas. Du moins si tu t'attends à ce que l'utilisateur saisisse l'url dans ton terminal, il faut spécifier le bon flux à fscanf (stdin). Il me semble tout de même qu'il est plutôt déconseillé d'utiliser cette méthode. Il faut favoriser fget*.

    Pareil pour fprintf. Si tu veux afficher ton message sur la console il faut spécifier le flux de sortie standard (stdout), ou utiliser tout simplement printf.

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Je te conseille de regarder comment bien gérer les entrées sorties dans les tutoriels disponibles sur http://c.developpez.com/cours/#tutoriels-c, ou sur http://emmanuel-delahaye.developpez.com

    Exemple de tutoriels :
    http://emmanuel-delahaye.developpez.com/inputs.htm
    http://franckh.developpez.com/articl...-debuter-en-c/
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #6
    Membre confirmé Avatar de mackla
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 140
    Par défaut
    Envoyé par valefor
    Du moins si tu t'attends à ce que l'utilisateur saisisse l'url dans ton terminal, il faut spécifier le bon flux à fscanf (stdin).
    non! l'utilisateur va écrire dans le fichier "mappages" pointé par ptr, pas de stdin.
    Il faut favoriser fget*.
    fget, c'est pour la lecture , et moi je veut ecrire(fprintf)

Discussions similaires

  1. [AJAX] Ecriture dans un fichier json avec une requête AJAX
    Par DarkPoster14 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/07/2012, 09h45
  2. [XL-2010] Sélection d'une cellule vide dans un fichier "ouvert" avec GetOpenFilename
    Par mauriceguillier dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/12/2010, 14h40
  3. Ecriture dans un fichier en avec js
    Par jamesleouf dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 02/08/2008, 11h25
  4. Ecriture dans un fichier txt avec C++
    Par altera14 dans le forum C++
    Réponses: 4
    Dernier message: 17/06/2008, 10h57
  5. Lecture ecriture dans un fichier .mat avec C++
    Par WELCOMSMAIL dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/09/2007, 11h29

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