[c]tableau de chaine de caractère
Résolu
informaticienne
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
A voir également:
- [c]tableau de chaine de caractère
- Tableau word - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Trier un tableau excel - Guide
16 réponses
Salut,
Le plus simple est de faire un tableau de chaînes de caractères comme tu l'as di bien dit :
Cdlt
Le plus simple est de faire un tableau de chaînes de caractères comme tu l'as di bien dit :
int *tab[]={"abricot","pomme","poire"};
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci fiddy , mais je veux que ce soit tapé par l'utilisateur.
en gros je voudrais la fonction saisie dans les deux exemples.
cdlt
en gros je voudrais la fonction saisie dans les deux exemples.
cdlt
Salut,
Voici un exemple
Voici un exemple
lami20j@debian:~/trash$ cat ccm25_tableauchaines.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char **s;
char mot[50];
int n,i;
printf("Entrez le nombre d'éléments : ");
scanf("%d",&n);
s = (char **) malloc(n * sizeof(char *));
for(i=0;i<n;++i){
printf("Saisissez un mot : ");
scanf("%s",mot);
s[i] = malloc(strlen(mot));
strcpy(s[i],mot);
}
for(i=0;i<n;++i)
printf("%s\n",s[i]);
for(i=0;i<n;++i)
free(s[i]);
free(s);
return 0;
}
lami20j@debian:~/trash$ gcc ccm25_tableauchaines.c
lami20j@debian:~/trash$ ./a.out
Entrez le nombre d'éléments : 4
Saisissez un mot : abricot
Saisissez un mot : poire
Saisissez un mot : pomme
Saisissez un mot : fraises
abricot
poire
pomme
fraises
Re,
En fait il se compile mais tu ne vois rien à l'écran quand tu essaies de l'exécuter.
C'est ça?
Alors essaie celui-là
En fait il se compile mais tu ne vois rien à l'écran quand tu essaies de l'exécuter.
C'est ça?
Alors essaie celui-là
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char **s;
char mot[50];
int n,i;
printf("Entrez le nombre d'éléments : ");
scanf("%d",&n);
s = (char **) malloc(n * sizeof(char *));
for(i=0;i<n;++i){
printf("Saisissez un mot : ");
scanf("%s",mot);
s[i] = malloc(strlen(mot));
strcpy(s[i],mot);
}
getchar();
for(i=0;i<n;++i)
printf("%s\n",s[i]);
for(i=0;i<n;++i)
free(s[i]);
free(s);
puts("Appuyez sur une touche pour quitter ...");
getchar();
return 0;
}
Salut,
Je sais pas la solution que tu as adoptée, mais si tu fais un malloc et que tu utilises strlen, il ne faut pas oublier "+1" pour le '\0'.
Cdlt
Je sais pas la solution que tu as adoptée, mais si tu fais un malloc et que tu utilises strlen, il ne faut pas oublier "+1" pour le '\0'.
s[i] =malloc(strlen(mot)+1);
Cdlt