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."
1 2 3 4 5 6 7 8 9
| /*
Concatene suite au bout de debut
*/
? concatenation(char* debut, const char* suite) {
/*chercher fin de début*/
char* fin = ?;/*je ne fais pas ton boulot*/
/*copier suite*/
/*code qui utilise fin et suite pour la copie*/
} |
"On utilisera la valeur de retour pour indiquer si la concatenation a ete
possible."
1 2 3 4 5 6 7 8 9 10 11
| /*
Concatene suite au bout de début
Retourne le nombre de caractère copiés en cas de succès, une valeur négative en cas d'erreur
*/
int concatenation(char* debut, const char* suite) {
/*chercher fin de début*/
char* fin = ?;/*je ne fais pas ton boulot*/
/*copier suite*/
/*code qui utilise fin et suite pour la copie*/
return ?;
} |
"Si la place est insuffisante, on copie le maximum de caracteres possibles."
1 2 3 4 5 6 7 8 9 10 11 12 13
| /*
concatene suite au bout de début
Retourne le nombre de caractère copiés en cas de succès, une valeur négative en cas d'erreur
*/
int concatenation(char* debut, const int taille_debut, const char* suite, const int taille_suite) {
/* en cas d'erreur, retourner -1, ou n'importe quel négatif, qui servira de code d'erreur */
/*chercher fin de début*/
char* fin = ?;/*je ne fais pas ton boulot*/
/*copier suite*/
int taille_copiable = ?;/*nombre de caractère copiable*/
/*code qui utilise taille_copiable, fin et suite pour la copie*/
return taille_copiable;/*Si on arrive au bout de la fonction, tout est bon*/
} |
"Le tableau obtenu doit toujours etre une chaıne de caracteres."
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
int concatenation(char[] debut, const int taille_debut, const char[] suite, const int taille_suite)
J'ai volontairement choisit de mettre les tailles constantes, parce qu'en C, un tableau possère une taille fixe.
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.
Partager