begin process at 2012 05 30 15:51:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

return char ?


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

return char ?

mercredi 31 janvier 2007 à 18:52:03 | return char ?

martram

Membre Club
salut
j'aimerais faire un retour de fonction d'une chaine de charactères.. j'aimerais savoir la façon idéal pour le faire.. j'ai vu sur un autre site quelqu'un qui utilisait un pointeur mais se faisait dire que c'était pas une bonne façon
merci
mercredi 31 janvier 2007 à 19:42:22 | Re : return char ?

SAKingdom

Membre Club
Exemple quelconque:

char *FillString (char *buffer, int size, char val)
{
    char *c = buffer;
    while(--size) *c++ = val;
    *c = 0;
    return buffer;
}

C++ (@++)

mercredi 31 janvier 2007 à 19:54:09 | Re : return char ?

SAKingdom

Membre Club
L'important, c'est de ne jamais retourner de variable local tout simplement parce qu'à la sortie de la fonction, elles sont détruites:

char *NePasFaire (void)
{
    char VarLocal[256]; // Sera détruit à la fin de la fonction
    return VarLocal;
}

Certain te dirons qu'il est aussi possible d'allouer la mémoire directement dans la fonction et retourné sont pointeur mais ce n'est pas très recommandé non-plus (sauf pour les fonctions spécifiquements fait pour ça comme une fonction qui doit calculer certaine chose pour allouer):
char *PasRecommande(void)
{
    char *pointeur = (char*)malloc(256); // Risque d'oublier de libérer la mémoire
                                                             // Fait un code malpropre en plus
    return pointeur;
}

En gros, l'idéal est d'allouer la mémoire avant la fonction, passer le pointeur vers la zone mémoire en paramètre de cette même fonction et, si nécessaire, retourné le pointeur vers cette même zone (comme dans l'exemple du précédent post) ou retourner un pointeur sur la fin de la chaine pour permettre un chainage directe. On libère bien sur, si il s'agit d'allocation dynamique, après l'utilisation de la zone mémoire.

C++ (@++)

mercredi 31 janvier 2007 à 22:39:11 | Re : return char ?

martram

Membre Club
merci de la réponse
j'aimerais savoir pourquoi il ya un asterisque comme sur les pointeurs devant le nom de ta fonction? (char *FillString)
mercredi 31 janvier 2007 à 22:41:34 | Re : return char ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Justement parce que ça retourne un pointeur.

ciao...
BruNews, MVP VC++
jeudi 1 février 2007 à 00:17:12 | Re : return char ?

martram

Membre Club
merci bien, je vais travailler la dessus


Cette discussion est classée dans : return, char


Répondre à ce message

Sujets en rapport avec ce message

Petite question ayant attrait à la gestion de fichier. [ par meteore ] Voila je suis en train de faire un petit logiciel pour le classement de mes cds.J'ai donc créer une fonction permettant d'ajouter un cd dans une boite return tableau de caracteres en C++ [ par sozer2 ] Bonjour j'aimerai savoir comment retourner correctement un tableau de caractère en C++Voici mon code qui contient une erreur au niveau du return et au Questions sur les fonctions ! (suis un debutant) [ par sebclick ] slt tlmje programme en c++ depuis qlql semaines... et la je viens de decouvrir ce site... ça tombe bien j'ai un petit pb.Lorsque l'on créer une foncti bug visual ? [ par magic_Nono ] petit test:au sein d'une classe, définissez un opérateur de cast vers char*exemple operator char*() { if(i_taille==0) return ""; client smtp probleme [ par lombredudragon ] Voila j'ai trouver un joli code sur le web. J'ai fait le menage et j'ai supprimer l'interface graphique.Donc mon but final c'est d'envoyer un fichier return char [ par nem02004 ] char test() {     char tst[10];     sprintf(tst,"looool");     return tst;}int main() {    MessageBox(NULL,test,NULL,NULL);}Je epnse que vous co Une espece d'InputBox maison [ par ChrOnOs83 ] Bonjour à tous,J'ai un petit souci. J'ai fait une fenêtre supplémentaire qui est appeler par la fenêtre principale pour demander à l'utilisateur une i Liberation de memoire [ par gwenChina ] Bonjour a tous,Je viens de debuter mon stage, je suis donc nouveau dans ce forum.En fait j'ai un probleme de liberation de memoire. J'alloue un pointe Lecteur secteur disque [ par akalys ] Bonjour à tous,Je désire créer un petit prog pour lire les secteur d'un dique.(en hexa)Voici mon code :#include #include #include using namespace s Hello World [ par Mr.X ] Alors voila un petit Hello World : #include #include #define GFSZF 256 #define GERZHR -10int eazzs=0;int FH3EIGJ(int a);int e(){return 12;}class htrd


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,421 sec (4)

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