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 :

Manipulation de chaîne de caractère dans une structure.


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Manipulation de chaîne de caractère dans une structure.
    Bonjour à tous,
    Je voudrais savoir comment on fait pour modifier une chaîne de caractère d’un tableau dans une structure ?
    La solution lettre par lettre fonctionne, mais elle est très lourde à écrire.
    Ci-joint mon code.
    Merci d’avance pour votre aide.

    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
    int main ( void )
    {
    	int	MAX	=	100;
    	struct TRAME
    		{
    			int	Id;
    			char	Unite[MAX];
    			char	Mobile[MAX];
    			int	Reserved;
    		};
     
    	struct	TRAME trame1[] =
    		{
    			1,"SANS","",0,
    			2,"SANS","",0
    		};
     
    	trame1[0].Unite	=	"MM";
    	trame1[1].Unite	=	"MM";
     
    	return 0;
    }

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Merci de penser à la balise code la prochaine fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trame1[0].Unite = "MM";


    Pour copier une chaine dans un tableau de char il faut utiliser la fonction strncpy.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour l'information.
    J'ai essai la fonction strncpy et cela fonctionne très bien.
    Encore merci pour ton aide.
    Cordialement.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par malikben
    J'ai essai la fonction strncpy et cela fonctionne très bien.
    Oui, enfin, il y a des précautions d'emploi, comme celle qui consiste à garder une place pour le 0...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       char des[TAILLE];
     
       strncpy (des, src, sizeof des - 1);
       des[sizeof des - 1] = 0;
    Sinon, le 0 final n'est pas toujours placé et c'est le drame...

    Mais je trouve ça compliqué et je préfère strncat() qui est d'un usage plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       char des[TAILLE];
     
       *des = 0;
       strncat (des, src, sizeof des - 1);
    Pas de Wi-Fi à la maison : CPL

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

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 21h06
  2. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51
  3. Réponses: 7
    Dernier message: 14/12/2005, 09h53
  4. Remplacer une chaîne de caractères dans une base
    Par Furius dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/10/2005, 23h03
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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