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 :

Question de débutant [Débutant(e)]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut Question de débutant
    Salut,

    Je viens de commencer à programmer en C et j'aurais une question à vous posez.
    Voilà le code source trouvez sur un site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
     
    main()
    {
        char str[80];
        printf ("Tapez un mot: \n");
        scanf ("%s",str);
        return 0;
    }
    Je comprend tout sauf le %s .A quoi cela sert-il?
    De plus sur le site, il mette des %d, %f ?

    Que cela veut-il signifer?

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Par défaut
    scanf sert à récuperer une saisie clavier

    %s indique que la saisie sera une chaine de caractère
    %d un entier (il me semble)
    %f un nombre réel

    A vérifier pour les deux derniers, mais %_ sert à choisir le type pour la saisie

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut
    Ca va merci beaucoup ;-)

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Attention, scanf est plus compliqué qu'il n'y parait. (ici un tuto pour bien l'utiliser http://xrenault.developpez.com/tutoriels/c/scanf/ )
    Si tu veux vraiment utiliser scanf, tu devrais specifier une longueur max de chaine à mettre dans le tableau str
    ou mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <stdio.h>
     
    #define TO_STR(e) _TO_STR(e)
    #define _TO_STR(e) #s
     
    #define MOT_MAXLG 80
     
    int main(void)
    {
        char str[MOT_MAXLG + 1];
        printf ("Tapez un mot: \n");
        scanf ("%" TO_STR(MOT_MAXLG) "s",str);
        return 0;
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut
    Merci pour toutes vos réponse!!
    J'aimerai poser une autre question mais HS.
    Peut-on supprimer un fichier en C ?
    Si oui pouvez vous me donnez l'instruction svp?
    Merci

  6. #6
    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 cetiop Voir le message
    J'aimerai poser une autre question mais HS.
    Peut-on supprimer un fichier en C ?
    Si oui pouvez vous me donnez l'instruction svp?
    Pourquoi HS ? remove() est une fonction tout ce qu'il y a de plus standard C.

  7. #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 reno_tidus Voir le message
    scanf sert à récuperer une saisie clavier

    %s indique que la saisie sera une chaine de caractère
    %d un entier (il me semble)
    %f un nombre réel

    A vérifier pour les deux derniers, mais %_ sert à choisir le type pour la saisie
    Il faut être plus précis que ça.

    "%d" attend l'adresse d'un un int (la chaine à convertir est codée en décimal : "123")
    "%f" attend l'adresse d'un un float (la chaine à convertir est codée en décimal avec virgule fixe : "123.45")

    Mais l'usage correct de scanf() est complexe et non recommandé aux débutants.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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