|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2012 Messages : 1 ![]() |
Je dois Ecrire une fonction qui reçcoit deux chaınes de caracteres et copie la premiere a la suite de la seconde. On utilisera la valeur de retour pour indiquer si la concatenation a ete
possible. Si la place est insuffisante, on copie le maximum de caracteres possibles. Le tableau obtenu doit toujours etre une chaıne de caracteres. Je ne vois pas comment faire qui peut m'aider ? |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Inscription : juin 2002 Messages : 670 ![]() |
Bonsoir,
Il faut poster du code. Nous n'allons pas faire vos devoirs... Merci
__________________
Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis. |
|
|
00
|
|
|
#3 | ||||||
|
Expert Confirmé
![]() Pierre Ingénieur développement logiciels Inscription : juin 2007 Messages : 1 348 ![]() |
Allons-y pour la lecture d'énoncé:
"Je dois écrire une fonction" ? concatenation(???);… " qui reçoit deux chaınes de caracteres" ? concatenation(char*, const char*);… " et copie la premiere a la suite de la seconde." Code :
possible." Code :
Code :
confere ton cours sur la différence entre chaine de caractere et simple pointeur de caractere ou tableau de caractere Au cas ou ton cours ne parlerai pas de pointeur, ce qui me surprendrait, tu peux aussi utiliser des tableaux en argument, c'est strictement équivalent Code :
int concatenation(char[] debut, const int taille_debut, const char[] suite, const int taille_suite) En cas de besoin, tu peux te renseigner sur les fonctions str* de la bibliothèque standard, et aussi lire notre FAQ. Pour l'information, tu dois coder une fonction qui serait plus ou moins strncat(). J'espère que tu étais au moins arrivé à la même conclusion que moi.
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
|
||||||
|
21
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() |
Je ne vois pas trop l'intérêt de taille_suite ici.
Hors considérations de performance (prématurées ici, donc la source du mal), la seule taille qui ne peut pas être obtenue par strlen, c'est la taille du buffer de destination.
__________________
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. |
|
|
10
|
|
|
#5 |
|
Expert Confirmé
![]() Pierre Ingénieur développement logiciels Inscription : juin 2007 Messages : 1 348 ![]() |
Quand on débute, il vaut mieux prendre les bon réflexes.
strlen ne donne pas la taille d'un tableau d'entier passé en argument. Par ailleurs, strlen ne donne pas la taille du tableau sous-jacent, mais de la valeur contenue. même si en effet, pour lire une chaine, on n'a pas besoin de cette taille.
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
|
|
11
|
Copyright © 2000-2013 - www.developpez.com