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 :

tutoriel de développez.com


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut tutoriel de développez.com
    Bonjour,

    Je suis le tuto sur développez.com et je vois que gets est utilisé ?

    ?

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    regarde aussi ici : http://c.developpez.com/cours/, il y a d'autres tutoriels

    mais maintenant, il est plutôt déconseillé d'utiliser gets(). On préfère un fgets(stdin) qui permet d'éviter les problèmes du buffer overflow en controlant la taille du buffer de réception.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Ok

    Sinon il ne faut vraiment pas utiliser gets ? Et donc dans cet exemple :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    #include <stdio.h>
    #include <string.h>
     main()
    {
     /* Déclarations */
     char CH1[100], CH2[100]; /* chaînes données */
     char CH3[100]="";        /* chaîne résultat */
     
     /* Saisie des données */
     printf("Introduisez la première chaîne de caractères : ");
     gets(CH1);
     printf("Introduisez la deuxième chaîne de caractères : ");
     gets(CH2);
     
     
     /* Traitements */
     strncpy(CH3, CH1, strlen(CH1)/2);
     strncat(CH3, CH2, strlen(CH2)/2);
      /* Affichage du résultat */
     printf("Un demi \"%s\" plus un demi \"%s\" donne \"%s\"\n",
                                                   CH1, CH2, CH3);
     return 0;
    }
    Je dois remplacer gets(CH1) par fgets(CH1,100,stdin) ?

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    Je dois remplacer gets(CH1) par fgets(CH1,100,stdin) ?
    oui et même mieux (dans ce cas là) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgets(CH1, sizeof(CH1), stdin)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Merci

    J'ai regardé aussi la pge de strlen dans le man et c'est marqué :

    SYNOPSIS

    #include <string.h>

    size_t strlen (const char *s);
    Je comprends pas size_t strlen ? Que veut dire size_t ?

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    Sinon il ne faut vraiment pas utiliser gets ?
    7.26.9 Input/output <stdio.h>
    ...
    2 The gets function is obsolescent, and is deprecated.
    Citation Envoyé par chicabonux Voir le message
    Je comprends pas size_t strlen ? Que veut dire size_t ?
    size_t
    which is the unsigned integer type of the result of the sizeof operator;

Discussions similaires

  1. Bêtisier de Développez.com - ajouts autorisés
    Par Superstivix dans le forum Humour Informatique
    Réponses: 1354
    Dernier message: 16/10/2024, 15h16

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