Redéfinir un tableau de chaines de caractères

metalect Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'utilise un tableau de chaines de caractères du type:
char tab[9][50];

Ce tableau marche très bien car je peux gérer ainsi 9 chaines de caractères dans une boucle.
Le soucis est que j'ai besoin de retrancher le dernier caractère de certaines des chaines de sorte:
tab[4][strlen(tab[4])-1] = '\0';

Là où est mon problème est que je veux pouvoir réutiliser le tableau pour d'autres chaines de caractères, mais le tableau diminue sans prendre l'intégralité du mot suivant,
en gros pour
tab[4]

le mot "lapin" devient progressivement:
lapi
lap
la
l
(puis rien)
lorsqu'on le récupère à partir de l'utilisateur ou fichier.

J'aimerai donc savoir si quelqu'un saurait comment redéfinir la taille du tableau pour faire en sorte que "lapin" reste "lapin" et même que par exemple tab[4] puisse aussi prendre la valeur d'une chaine plus grande comme "la forêt est belle".

Si quelqu'un voit ce que je veux dire et est capable de m'aider, je le remercie d'avance =)

A voir également:

2 réponses

apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut,

Tu n'as pas un exemple de code parce que je ne comprends pas trop ton problème :s
0
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   55
 
Ne fait surtout pas l'erreur de croire que mettre un '\0' réduit la taille en mémoire de ta chaîne de caractères !
C'est un caractère comme un autre...
Par conséquent :

char tab[10];
tab[0] = 'L';
tab[1] = 'a';
tab[2] = 'p';
tab[3] = '\0';

printf("%s\n", tab);

tab[3] = '1';
tab[4] = '\0';

printf("%s\n", tab);


donne en résultat :
Lap
Lap1


Comme ceci tu agrandis donc la longueur de tab...


Software is like sex, it's better when it's free - Linus Torvald
0