begin process at 2012 05 29 17:56:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

PB chaine de caractere en argument d'une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PB chaine de caractere en argument d'une fonction

dimanche 29 avril 2007 à 16:49:50 | PB chaine de caractere en argument d'une fonction

zeguizmo

Salut à tous,

Bon, je ne suis pas une flèche en programation, et je bloque sur un souci qui va peut etre vous paraitre dérisoire, mais pas moyen, je comprend pas.

J'ai une fonction qui marche tres bien, et qui est définie comme suit :

int ordre (char *chaine1,char *chaine2);

Je la teste, sans souci, dans le main en faisant :

char test1 = "toto";
char test2 = "tata";


ordre(test1,test2);

Ca marche nickel.

Maintenant je veux me servir de cette fonction dans une autre fonction, avec l'un des deux parametres qui sera lui meme un parametre de cette fonction. Je m'explique plus clairement :

Nouvelle fonction : ajout(int machin, float truc, char nom[ ]);

Dans cette fonction ajout, je fais appel a ordre, de cette facon :

ordre (nom, test2);

Ca ne marche pas (erreur de segmentation). La variable nom semble merder.

J'ai essayé de mettre char *nom, ou de spécifier une longueur de chaine entre les crochets, rien a faire, ça ne passe pas, toujours l'erreur de segmentation. ..

J'ai fais une petite expérience. Dans le main, j'ai fais appel a ajout de cette facon :

ajout(1,1.5,"bibi");

Ca fait l'erreur de segmentation.

J'ai aussi fait
char nom[]="bibi";
ajout(1,1.5,nom);


Et la ca marche. Evidemment , c'est de la premiere facon que je veux apeller ma fonction, pas en déclarant une autre variable dans le main.

Quelqu'un peut m'eclairer ?

D'avance, merci

Guizmo
dimanche 29 avril 2007 à 17:11:09 | Re : PB chaine de caractere en argument d'une fonction

aardman

Membre Club
Salut,
En fait faudrait savoir si ajout() et/ou ordre() modifient les chaines que tu leur passe en parametre.
Je pense qu'il y a quelques problemes de const char* ...
dimanche 29 avril 2007 à 18:13:16 | Re : PB chaine de caractere en argument d'une fonction

zeguizmo

Salut aardman,

Non, ni l'une ni l'autre ne modifient les chaines de caracteres. Ca peut changer quelque chose ?

Guizmo
dimanche 29 avril 2007 à 18:49:06 | Re : PB chaine de caractere en argument d'une fonction

aardman

Membre Club
Salut,
Ca aurait changé quelque chose oui, car si tu appeles ajout() en passant directement la chaine en parametre, ta fonction ne pourra pas modifier la chaine, alors que si tu la met dabord dans un tableau et que tu passes ce tableau en param, aucun problème.
Si les fonctions ne font que lire les chaines, je vois pas vraiment d'ou l'erreur de segmentation pourrait venir. Peux tu nous montrer le code des fonctions ordre() et ajout() ?

lundi 30 avril 2007 à 16:16:45 | Re : PB chaine de caractere en argument d'une fonction

Loki6

Membre Club
t'as essayé de bidouiller avec les * et & ?

Loki
mardi 1 mai 2007 à 10:10:05 | Re : PB chaine de caractere en argument d'une fonction

luhtor

Bas un conseil, ne bidouilles pas avec les * et & ....

Ton erreur de segmentation est du à ta fonction, pas a ton passage de paramètre.


Cette discussion est classée dans : fonction, ordre, marche, ajout, char


Répondre à ce message

Sujets en rapport avec ce message

pour le generateur nfo ca marche mais pas la. [ par Xs ] bonjours !je suis en train de me faire un logicielpour gerer ma collection de CDs mais voila : lepricipal probleme est que dans les titres, y'a bien a pb memoire sur fonction recursive [ par MrKribou ] J'ai fait une fonction pour rechercher un repertoire sur le disque qui renvois ensuie le path complet de ce repertoire. Donc cette fonction recherche problème tout bête [ par Raoul12 ] voilà, je débute dans le c++ et je voudrais faire ça:char hohun[32] ;hohun = "hohun" ;mais ça ne marche pas... pourtant si je fais ça:char hohun[32] = problème [ par Raoul12 ] voilà, je débute dans le c++ et je voudrais faire ça:char hohun[32] ;hohun = "hohun" ;mais ça ne marche pas... pourtant si je fais ça:char hohun[32] = char -> char* [ par gangsoleil ] Salut,Je souhaite transformer un char en char*, et impossible de trouver une fonction qui fasse ca en C !A priori, aucune fonction de string.h ne peut PROBLEME pour retourner un char* a partir d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang PROBLEME pour retourner un char* apres recuperation d'une chaine(sscanf) d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang Convertir une string en char* [ par dickymoe ] Existe-t-il une fonction qui permet de convertir une string en char* ?ou alors une fonction qui compare deux string sans respecté la casse ???Merci(en renvoie d'un tableau en char ds une fonction [ par TheBabyCool ] Comment peut on renvoyer un tableau de char du type :char i[][] dans une fonction ?Merci fonction strlen [ par ToToL ] Voici mon probleme :je voudrai dans un tableau a deux dimetion savoir combien il reste de place dans les colone donc j'ai pensé a la fonction strlen c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,808 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales