begin process at 2010 02 10 00:44:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Problème de char


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

Problème de char

vendredi 13 octobre 2006 à 15:47:23 | Problème de char

ToToL

Membre Club
Bonjour ,

mon souci est que j'ai besoin de créé une fonction qui renvoi une chaine de caractère créé en local , et que le résultat renvoyé soit utilisable directement dans un sprintf. Je ne sai pas pourquoi mais sa ne veut pas :

char * fct () {
    char toto[50];
    .
    .
    . 
    return toto;
}

voila , cela ne fonctionne pas :-(

Quelqu'un peut m'aider ?

Merci

ToToL
vendredi 13 octobre 2006 à 16:03:28 | Re : Problème de char

DevGizmo

Réponse acceptée !

Hi,
C'est normal ....

Explications: tu as une variable locale a ta fonction; celle ci est sur la pile de l'appel de la fonction jusqu'a ce que tu face un return. Au return de la fonction elle est detruite et donc dans la fonction appellante, tu ne recupere pas tes datas...!

Solution: tu alloue ton tableau dans la fonction, tu retourne le pointeur sur la zone allouee
et dans ta fonction appellante tu fais un free quand tu as termine ...

char *fction()
{
   char *toto = NULL;
   
   toto = (char *) malloc (<la_taille_que_tu_veux>)

   if (!toto) return NULL;
   
   return toto;

}




   }

vendredi 13 octobre 2006 à 21:12:19 | Re : Problème de char

aardman

Membre Club
Salut,
Tu peux aussi déclarer toto en static... mais ca peut poser d'autres problemes (tu ne pourra pas utiliser 2 fois ta fonction dans sprintf, par exemple).

vendredi 13 octobre 2006 à 22:38:56 | Re : Problème de char

Joky

Membre Club
Tu peux surtout passer ta variable en paramètre
C'est beaucoup plus propre que tous les autres trucs proposés
Au moins pas d'oubli de désallocation etc...

ULARGE_INTEGERJokyQi=QI("Joky"



Cette discussion est classée dans : problème, toto, char, créé


Répondre à ce message

Sujets en rapport avec ce message

Problème avec char* [ par Wiwi ] Bonjour tt le monde, j'ai une tite pro (bidon) avec ce morceau de programme. Lors de sa compilation il n'y a aucune erreur, par contre lors de son exé problème de lecture en c++ sous vc++6 [ par os22 ] j'essaie de lire un fichier ayant le contenu suivantmarc;collin;4506777228;906 boule;longueuil;j4j1t5;qc;14;allo;roger;dumais;5413432128;1150 dumahel; Redimmensionement d'une fenêtre [ par stockley81 ] Je vais essayer d'exposer mon problème le plus clairement possible. J'ai une application graphique à réaliser pour le boulot mais c'est un peu spéci Help commande "system(char *commande) [ par Lnx ] Bonjour,j'ai un petit soucis avec la commande system(cher command)j'ai " nom de commande ou de fichier incorrecte", alors qu'avec un toto.bat ça fonct conversion int en char* [ par arwenita ] Encore un petit problème en C++...Dans mon programme, je voudrais afficher une liste de nombres (premiers), que je récupère de la fonction Crible(n).L Problème de delete [ par ManTico ] Salut à tous, j'ai un peu de peine avec la gestion de la mémoire et je voulais savoir deux choses :- pourquoi en mode Debug mon prog plante sur les de extraction de chaine en C [ par typhoonx ] bonjour,je souhaiterai extraire un chaine d'une chaine :char s1[]={"c:\toto\tutu\titi.h"};char s2[30];je voudrai obtenir dans s2 -> \toto\tutu\titi.hy Info sur les pointeurs [ par HCJarod ] slt, je me demande pourquoi on ne peut pas ecrire (ou c'est mon compilo qui merde)char tab[50];....tab++alors qu'avecchar* tab=new char[50]; oui.techn Polymorphisme (question de debutant) [ par madlolo2 ] Alors la, j'avoue que j'y perds mon latin ...Regardez ce code : class CMere {public: int toto (char * var1, int var2); int toto (char * var1); CMere Polymorphisme (question de debutant) [ par madlolo2 ] Alors la, j'avoue que j'y perds mon latin ...Regardez ce code : class CMere {public: int toto (char * var1, int var2); int toto (char * var1); CMere


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,733 sec (4)

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