[c]tableau de chaine de caractère
Résolu/Fermé
informaticienne
-
29 déc. 2008 à 19:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 avril 2011 à 17:31
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 avril 2011 à 17:31
A voir également:
- [c]tableau de chaine de caractère
- Caractère ascii - Guide
- Tableau croisé dynamique - Guide
- Tableau word - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
16 réponses
sadektlili
Messages postés
139
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
3 avril 2010
4
29 déc. 2008 à 20:07
29 déc. 2008 à 20:07
avec qu'elle langage?
sadektlili
Messages postés
139
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
3 avril 2010
4
29 déc. 2008 à 20:36
29 déc. 2008 à 20:36
tu peut faire deux structur de tableau l'un contien une seule chaine et l'autre plusier chaine.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
29 déc. 2008 à 20:39
29 déc. 2008 à 20:39
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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 déc. 2008 à 22:42
29 déc. 2008 à 22:42
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
ton programme ne compile pas.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 déc. 2008 à 23:01
29 déc. 2008 à 23:01
Re,
Dans mon exemple on voit bien qu'il est compilé et qu'il est exécuté.
Tu es sous windows?
Dans mon exemple on voit bien qu'il est compilé et qu'il est exécuté.
Tu es sous windows?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 déc. 2008 à 23:09
29 déc. 2008 à 23:09
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; }
sadektlili
Messages postés
139
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
3 avril 2010
4
29 déc. 2008 à 23:34
29 déc. 2008 à 23:34
teste ca:
s[i] =(char*) malloc(strlen(mot));
s[i] =(char*) malloc(strlen(mot));
ca passe merci :)
<stdlib> c'est par rapport à quoi?
merci
<stdlib> c'est par rapport à quoi?
merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 déc. 2008 à 23:42
29 déc. 2008 à 23:42
Re,
C'est pour malloc et free
C'est pour malloc et free
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
30 déc. 2008 à 15:55
30 déc. 2008 à 15:55
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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
30 déc. 2008 à 19:20
30 déc. 2008 à 19:20
Salut,
Tu as raison ;-)
Tu as raison ;-)
tassou12
Messages postés
4
Date d'inscription
dimanche 10 avril 2011
Statut
Membre
Dernière intervention
28 décembre 2011
10 avril 2011 à 17:25
10 avril 2011 à 17:25
svp dit moi comment en peut faire déclaré et affiché et faire la lecture d'un tableau de chaine de caractère avec pointeur et sans pointeur en langage c et merci sv p rep moi maintenant car c'est urgent
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 avril 2011 à 17:31
10 avril 2011 à 17:31
@tassou12,
Ca aurait été mieux, je pense, d'ouvrir un autre post.
De plus, lami20j a fait un code répondant à tes questions. Il suffit juste de s'armer de lire les réponses ci-dessous ;-))).
Ca aurait été mieux, je pense, d'ouvrir un autre post.
De plus, lami20j a fait un code répondant à tes questions. Il suffit juste de s'armer de lire les réponses ci-dessous ;-))).