Bonjour,
Je souhaite écrire une fonction cloneStrings qui retourne une copie d'une chaîne de caractères passee en paramètre.
j'ai plusieurs questions :
1) Quel va être le prototype de la fonction ?
2) Comment allouer dynamiquement un tableau ?
3) Comment connaître la taille d'une chaine de caracteres ?
4) Ecrire la fonction.
Attention, je sais qu'il ne faut jamais retourner l'adresse d'une variable locale
La chaîne "abc"est sur la pile, et se fait écraser lors de l'appel à printf Par conséquent, on ne peut pas retourner un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 char* uppercase(char s[]) { char tmp[MAX]; int i=-1; do { i++; tmp[i]=toupper(s[i]); } while (tmp[i]!='\0'); return tmp; } int main(int argc,char* argv[]) { char* x=uppercase("abc"); printf("%s\n",x); return 0; }
Il faudra utiliser de l'allocation dynamique.
Merci
Partager