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 :

sur la fonction strcpy


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 66
    Points : 44
    Points
    44
    Par défaut sur la fonction strcpy
    salut a tous
    es ce que la fonction strcpy est utilise dans des variable constante seulement?
    mon programme consiste a donne un chois au utilisateur d'entre son message puis recopie ce message dans une autre variable qui sera ensuite affiche
    et merci d'avance

  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 : 61
    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
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par chettane Voir le message
    es ce que la fonction strcpy est utilise dans des variable constante seulement?
    J'ai pas compris
    Citation Envoyé par chettane Voir le message
    mon programme consiste a donne un chois au utilisateur d'entre son message puis recopie ce message dans une autre variable qui sera ensuite affiche
    Oui, cela peut le faire

    Montre nous un peu de code ?
    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 confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    je crois qu'il veut parler de tableaux statiques et dynamiques. La résponse est oui. tu peux utiliser les deux. exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     char    str1[64];
     char    str2[64];
     char    *str3;
     
    str3 = malloc(64);
    strcpy(str1, "Hello World");
    strcpy(str2, str1);
    str3 = strcpy(str3, str2); /* contient "Hello World" */
    Je crois que c'est ta réponse.
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 66
    Points : 44
    Points
    44
    Par défaut la fonction strcpy
    en premier je remercie marVin et ram
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char msg[15];
              char msg1[15];
    printf("%s entrez votre message\n");
    scanf("%s\n", msg);
    strcpy(msg1, msg);
    printf("le message est:",msg1);
    es ce que ça est faisable et merci d'avance

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    Oui ça fonctionne. si tu reprend mon exemple c'est la même chose que la ligne 8 :
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 66
    Points : 44
    Points
    44
    Par défaut remerciement
    merci marVin pour vos repense
    et aussi une autre question sur l'étoile qui préced la propriété *str3 ça sert a quoi cette * et merci

  7. #7
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Ca veut dire que que str3 est du type "char *", autrement dit pointeur vers un char. Ce qui veut dire que la variable str3 contient l'adresse d'un char. Si l'étoile n'était pas là str3 serait de type "char", ce qui voudrait dire que str contient un char.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Attention par contre aux problèmes de débordement. scanf("%s") employé nu comme ça, c'est aussi dangereux que gets().

    Pour éviter ce genre de problème en C, soit on utilise scanf() de façon plus compliquée, soit on utilise fgets(). Des fonctions comme celles-ci peuvent aider dans ce dernier cas: Elles suppriment le \n que fgets() récupère et s'assurent qu'il n'y aura pas de caractères restant qui empièteront sur le prochain fgets() ou scanf().
    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.

Discussions similaires

  1. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  2. Probleme sur une fonction vérif
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/10/2004, 13h25
  3. Probleme de pointeur sur une fonction
    Par nicky78 dans le forum C
    Réponses: 2
    Dernier message: 23/05/2004, 20h26
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  5. PerlDoc sur une fonction d'un module
    Par lesouriciergris dans le forum Modules
    Réponses: 2
    Dernier message: 13/03/2003, 20h50

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