Informations

Auteur(s) Nicolas Rybowski
Date limite Pas de date limite
Limite de soumission Pas de limite

Se connecter

Q2: strcpy amélioré

La fonction classique char *strcpy(char *destination, const char *source); strcpy(3) a besoin d'un tampon/tableau/buffer de destination où la chaîne de caractère source est copiée. Nous vous demandons de coder une fonction qui alloue elle-même un tampon/tableau/buffer, puis effectue la copie.

L'utilisation de fonctions de copie comme memcpy ou strcpy n'est pas autorisée.

Indice : utilisez malloc(3). N'oubliez pas que malloc peut parfois échouer...


Question 1: buf_strcpy

Ecrivez le corps de la fonction buf_strcpy.

/*
* Crée un tampon/buffer de la même taille que {src}, et copie le contenu de {src} dans ce tampon/buffer.
*
* @src: chaine de caractères à copier
* @return: retourne le pointeur de la chaine de caractères copiée. Si {src} == NULL ou en cas d'erreur, retourne NULL
*
* Rappelez-vous que les chaînes de caractères se terminent par '\0' et que strlen("abc") retourne 3 même si 4 octets sont nécessaires pour stocker cette chaîne.
*/
char *buf_strcpy(const char *src) {
Question 2: Zone de test

Voici une zone vous permettant d'implémenter des tests dans la fonction montest(). Le score du test n'est pas pris en compte dans le score total.

Les résultats de votre test s'afficheront dans la zone de retour de l'exercice.

Attention Si vous utilisez printf() ne pas utiliser de retour à la ligne \n.

void montest(){