[C] Chaine de caractere et pointeurs

Fermé
Nico - 15 juin 2006 à 13:43
 ddpi - 1 nov. 2008 à 22:32
Bonjour,
Je réalise un petit programme en C, et découvre diverses difficultées ,
J'ai beau me renseigner et chercher , certaines difficultées persiste encore :p

Dans un premier temps je souhaiterais passé une chaine de caractere dans ma procedure sous forme de donnée modifiées, mais cela ne marche pas...
Quelqu'un peut me dire ou je fais l'erreur?

/*** Prototype ***/
typedef char chaine15[15];
void verif_date(chaine15[]);

/*** sub principale ***/
void main()
chaine15 *date_deb;
verif_date(&date_deb);

/*** ma procedure ***/
void verif_date(chaine15 * madate)
{
}

D'apres ce que j'ai compris le traitement est différents pour les tableaux que pour les var normales (entier...).
Une chaine de caractere etant un tableau, cette derniere suis aussi cette derniere methode?

Merci d'avance :)
A voir également:

9 réponses

gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 58
15 juin 2006 à 14:19
Dans un premier temps je souhaiterais passé une chaine de caractere dans ma procedure sous forme de donnée modifiées

Moi je pense qu'il faut prevenir le compilateur que la fonction verif_date() recevra en argument un pointeur sur chaine15, autrement dit le prototype devrait etre
void verif_date(chaine15 *);

Dans lasuite ,l'appel se fait tout simplement en parametre un pointeur sur chaine15.

.....

chaine15 *date_deb;

et voila
verif_date(date_deb);
.....

//fin du main

void verif_date(chaine15 * p)
{
...
}


Pour ma part je pense que c'est de cette facon qu'il fallait reagir
merci
0
Merci beaucoup de ton aide,
Néanmoins cela n'a pas l'air de marcher...
Aucune Erreur lors de la compilation , mais une ereuur windows lors de l'exécution :/

(j'utilise dev cpp)
0
gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 58
15 juin 2006 à 15:05
Moi meme j'avais ce genre de probleme au depart et il se situait tres souvent au niveau de l'utilisation des pointeurs que je declarais (Avec dev ccp ,erreur lors de l'execution lorsque le pointeur declare pointe qlq part en memoire et non sur 0).J'ai donc migré sur TURBO C++.
Peut me faire voir tout le code de ton programme ?
0
Le programme en question fait environ mille ligne ....
EN stoppant le code j'ai détecté la ou il buggait exactement:

Il s'agit du moment ou je fais saisir ma date dans la procedure:
void verif_date(chaine15 * madate)
{
scanf("%s", *madate);

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 58
15 juin 2006 à 16:25
l'as-tu rectifier?
scanf("%s",&madate);
0
Mouarffff ca marche.....
Merci beaucoup, ca me fait plaisir,:)
Quoi que du coup je comprend plus rien :(
Je croiyais qu'on utilisait "&" pourlire ou modifier l'adresse de la vairable,
et "*" pour lire ou modifier le contenu de la variable...
0
gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 58
15 juin 2006 à 18:06
 
Quoi que du coup je comprend plus rien :( 
Je croiyais qu'on utilisait "&" pourlire ou modifier l'adresse de la vairable, 
et "*" pour lire ou modifier le contenu de la variable...


Pour etre plus precis,
scanf();
est une fonction 'entree', en fait ,il recupere l'adresse de la touche frappee au clavier et la place dans la variable qui suit le
&
.
Une recherche sur ce site te renseignera mieux
@ ++;
0
je veux cree un fonction
int ChoixContinuer (void);
qui vas compare un caractere o ou n
lors de sont appelle elle va retourne une valeur 1 si o et 0 si n
0
donc moi j'ai bo utiliser tout mes code de programmation sa m'affiche
"error buil c:\dev-ccp\mon my jeux\makefile.win"a cause de cette erreure je ne peut plus travailler !!!!
help aider moi s'il vous plais
0