Fonction ne compile pas !
Fermé
Wizlee
Messages postés
20
Date d'inscription
lundi 15 janvier 2018
Statut
Membre
Dernière intervention
25 décembre 2019
-
9 sept. 2019 à 14:36
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 9 sept. 2019 à 18:45
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 9 sept. 2019 à 18:45
A voir également:
- Fonction ne compile pas !
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Fonction ms dos non valide - Forum Windows 8 / 8.1
2 réponses
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
9 sept. 2019 à 15:51
9 sept. 2019 à 15:51
#include <stdlib.h>
void free_tab(char **tab)
{
int i;
i = 0;
if (tab == NULL || tab[0] == '\0')
return ;
while (tab[i] != NULL)
{
free(tab[i]);
i += 1;
}
free(tab);
}
char **tab(int x, int y)
{
int i;
char **tab;
i = 0;
if (x >= 0 || y >= 0)
return (NULL);
if ((tab = malloc(sizeof(char *) * (x + 1))) == NULL)
return (NULL);
tab[x] = NULL;
while (i < x)
{
if ((tab = malloc(sizeof(char *) * (y + 1))) == NULL)
return (NULL);
i += 1;
}
return (tab);
}
La fonction tab te permet de créer un "tableau' de string, avec x comme nombres de string, et y la taille fix d'un string.
free_tab te permet, de libéré l’espace ton ton tableau
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
Modifié le 9 sept. 2019 à 16:00
Modifié le 9 sept. 2019 à 16:00
Re,
J'ai pas mal de petites questions du style, à la ligne 15 y'a int caractere='e';
Pourquoi un int pour un caractère ? un char suffit.
Puis, comment tu compiles ? pourrions nous avoir le message d'erreur de la compilation ?
Il est ou ta fonction main() ? tu l'appels comment ta fonction Dico ?
Es tu aux courent que ta fonction Dico ne retourne rien ?
As-tu mis les librairie pour fopen fseek etc... ?
J'ai pas mal de petites questions du style, à la ligne 15 y'a int caractere='e';
Pourquoi un int pour un caractère ? un char suffit.
Puis, comment tu compiles ? pourrions nous avoir le message d'erreur de la compilation ?
Il est ou ta fonction main() ? tu l'appels comment ta fonction Dico ?
Es tu aux courent que ta fonction Dico ne retourne rien ?
As-tu mis les librairie pour fopen fseek etc... ?
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 094
Modifié le 9 sept. 2019 à 18:56
Modifié le 9 sept. 2019 à 18:56
Salut Tomsuper,
Wizlee n'a pas encore répondu à tes questions et suggestions.
Cela dit, juste une observation à propos de ta question et affirmation : "Pourquoi un int pour un caractère ? un char suffit."
Le type de la variable
http://www.cplusplus.com/reference/cstdio/fgetc/
P.S. :
Tomsuper, ton code ne s'affiche pas avec coloration syntaxique car tu as cliqué sur le bouton pour des balises de code génériques. Il faut utiliser la liste déroulante à côté de ce bouton et choisir le langage "c" pour insérer des balises <code c> </code> qui produiront l'effet recherché.
Wizlee n'a pas encore répondu à tes questions et suggestions.
Cela dit, juste une observation à propos de ta question et affirmation : "Pourquoi un int pour un caractère ? un char suffit."
Le type de la variable
int caractere;me paraît correct, car cette variable est utilisée pour recevoir le résultat de
fgetc()qui retourne un
int(ce prototype permet à cette fonction de pouvoir retourner
EOF, qui, d'ailleurs est testé dans le code proposé par Wizlee, et qui, par définition, ne peut pas correspondre à une valeur valide pour un
char).
http://www.cplusplus.com/reference/cstdio/fgetc/
P.S. :
Tomsuper, ton code ne s'affiche pas avec coloration syntaxique car tu as cliqué sur le bouton pour des balises de code génériques. Il faut utiliser la liste déroulante à côté de ce bouton et choisir le langage "c" pour insérer des balises <code c> </code> qui produiront l'effet recherché.