Accueil > Forum > > > > probleme de return en C ????
probleme de return en C ????
mardi 17 mai 2005 à 22:43:18 |
probleme de return en C ????

nach73
|
Bonjour, J'ai creer une fonction qui renvoie 2 chaine de caractere. J'aimerai savoir comment peut-on les receptioners, si c'est possible. Merci.
|
|
mardi 17 mai 2005 à 23:02:30 |
Re : probleme de return en C ????

LaPatoshe
|
Donne en valeur de retour à ta fonction une vleur de type structure qui contiendra deux chaines de caratères. Ex : struct CHAINE { char ChaineA[100]; char ChaineB[100]; }ElementRenvoye;
CHAINE CreationChaine(void) { //Code créant et renvoyant une valeur de type CHAINE }
int main() { ElementRenvoye = CreationChaine(); return 0; }
NB : Autre solution : Si tes chaines peuvent être déclarées au préalable, tu peux utiliser le passage par référence.
LaPatoshe
|
|
mardi 17 mai 2005 à 23:12:45 |
Re : probleme de return en C ????

nach73
|
excuse je te ne suis pas voila mon code: on doit rentre une chaine du type >ch<>aine< et je veux quel me renvoie >ch< et >aine< c'est ce quel fait,sauf que je ne sais pas comment les recuperees.
char *ChaineRechValide (char *ch) { char ch2[30]; char* p =strrchr(ch,'>'); /*>ch<*/ while(*p != '>') p--; strcpy(ch2,p); /*>aine<*/ *p = 0; return (ch,ch2); } main () { char chaine[30]; char tmp,ch; printf("Entrez chaine : "); gets(chaine); ChaineRechValide (chaine); ?????? getc(stdin); fflush(stdin); return; }
|
|
mardi 17 mai 2005 à 23:36:57 |
Re : probleme de return en C ????

LaPatoshe
|
Si je comprends bien, tu envoie dans ta fonction *ch, et tu veux retourner *ch et *ch2. Par définition, une fonction ne peut que renvoyer une seule valeur. Si tu veux en renvoyer plusieurs, il faut passer ces valeur par référence à ta fonction, et transformer ces mêmes valeurs à l'intérieur. L'autre solution, c'est de créer une structure définie pour renfermer des chaines de caractère. Ainsi, tu renvoies une variable du type de ta structure, donc qui renferme tes deux chaines de caractère. Vu ton programme, ta fonction reçoit en paramètre une chaine de caractère ch. Il faudra la modifier pour qu'elle reçoive ta structure.
#include<malloc.h>
struct CHAINE { char *Chaine1; char *Chaine2; } Element;
CHAINE ChaineRechValide (char *Element.Chaine1) { CHAINE ElementB; char ch2[30]; char* p =strrchr(ch,'>'); /*>ch<*/ while(*p != '>') p--; strcpy(ch2,p); /*>aine<*/ *p = 0; ElementB.Chaine1 = (char*) malloc(100); ElementB.Chaine2 = (char*) malloc(100); strcpy(ElementB.Chaine1, Element.Chaine1); strcpy (ElementB.Chaine2, ch2); return ElementB; }
int main () { char chaine[30]; char tmp, ch; printf("Entrez chaine : "); gets(chaine); ChaineRechValide (chaine); ?????? getc(stdin); fflush(stdin); return 0; }
LaPatoshe
|
|
mercredi 18 mai 2005 à 01:05:22 |
Re : probleme de return en C ????

nach73
|
Réponse acceptée !
sympa, mais sa fonctionne pas, mais l'idee de la structure est bonne et ma vachement aide . Merci bcp. Voila se que j'ai fait et elle fonctionne :
#include<malloc.h> #include<stdio.h> struct { char Chaine1[30]; char Chaine2[30]; } CHAINE; void ChaineRechValide (char *Ch) { char ch2[30]; char* p =strrchr(Ch,'>'); /*>ch<*/ while(*p != '>') p--; strcpy(CHAINE.Chaine1, p); /*>aine<*/ *p = 0; strcpy (CHAINE.Chaine2, Ch); return ; }
int main () { char chaine[30]; char tmp, ch; printf("Entrez chaine : "); gets(chaine); ChaineRechValide (chaine); printf("\n%s ",CHAINE.Chaine1); printf("\n%s ",CHAINE.Chaine2); getc(stdin); fflush(stdin); return 0; }
|
|
mercredi 18 mai 2005 à 18:19:53 |
Re : probleme de return en C ????

Matt67
|
Bonsoir,
Attention avec le gets, préférer fgets
Matt...
|
|
mercredi 18 mai 2005 à 18:25:25 |
Re : probleme de return en C ????

nach73
|
Desole mais "fgets" sert a aller chercher un caractere dans un fichier, tandis "gets" est une saisie console qui accepte les espace, contrairement a "scanf"
|
|
mercredi 18 mai 2005 à 18:42:06 |
Re : probleme de return en C ????

Matt67
|
re-bonsoir,
fgets(buf, size, stdin);
Matt...
|
|
mercredi 18 mai 2005 à 18:46:29 |
Re : probleme de return en C ????

steve_clamage
|
nachh73, gets lis stdout (qui généralement est un fichier associé auclavier) et non la console. De plus gets est dépréciée car buggée. Il faut remplacer gets(chaine) par fgets( chaine, sizeof chaine, stdin ) mais bon, dans ton code tout est à revoir.
|
|
mercredi 18 mai 2005 à 18:47:39 |
Re : probleme de return en C ????

nach73
|
en C : char *fgets(char *s, FILE *stream)
|
|
Cette discussion est classée dans : probleme, return
Répondre à ce message
Sujets en rapport avec ce message
GetFileAttributes [ par blueburry ]
Bonjour, g un probleme avec la fonction GetFileAttributes(), meme si le fichier existe dans WINDOWS, elle me retourne 0xFFFFFFFF. Vous pouvez me dire
Problème de linker dans programme de base. [ par vith17 ]
Bonjour,J'ai tapé le code suivant sous Dev-C++. Lorsque je lance la compilation, il me revoie l'erreur suivante : [Linker error] undefined referenc
insertion d'un joystick sous directx [ par kennit69 ]
bonjourje souhaite integrer un joystick dans mon programme directxj'ai suivi les etapes explique sur le site msdn et lors de l'appele a la fonction H
Probleme Debbuger [ par seb2086 ]
Bonjour,Ca fait longtemps que j'ai ce probléme et j'aimerai bien le résoudre.Voila j'ai installer visual studio 2003 lorsque j'ouvre un projet et que
Urgent : Probleme avec split d'un string [ par QuakeCoder ]
salut. j'ai un char * qui contient "C:\\Documents and Settings\\quick\\Bureau\\Nouveau dossier\\test me.exe" comment faire pour extraire juste ca => "
probleme avec borlandc 4.5 [ par sergedes ]
bonjour,J'ai un probleme avec un borland 4.5 c++, il ne veux pas reconnaitre l'instruction CreateFile, il me reponds que cette instruction est obsolet
Probleme de compilateur. [ par damish ]
Bonsoir a tous.j ai un probleme pour ce qui est des compilateurs. Je débute dans le c & c++ dans des application dos et j ai récuperer quelques source
probleme d'autorun [ par jinzo59 ]
voila je voudrez savoir si quelqu'un pourai me faire vite fait un ptit logiciel exe qui consite a avoir le choix entre 2 fichier ".exe" vous voyez gen
Pb WriteFile [ par Joky ]
Bonsoir Bonsoir ma tite famille :) lol Donc j'ai un Soucy :) et oui et oui ;) En faite je ne suis pas sur que ça vienne de WriteFile, mais en tout cas
Probleme de Compilation ? [ par nem02004 ]
Salut a tous, je programme sous dev-cpp, une fois mes programmes compilé c'est nikel, je nai aps de problemes mis à part que si jouvre mon executable
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|