begin process at 2012 05 29 13:47:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Pointeur sur char


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

Pointeur sur char

jeudi 23 juillet 2009 à 17:05:56 | Pointeur sur char

wislam2007

salut
j'ai un variable de type char, et une fonction qui retourne un pointeur sur un caractère (char), comment faire pour affecter le retour de la fonction a mon variable.
Merci
A vs

jeudi 23 juillet 2009 à 18:06:05 | Re : Pointeur sur char

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

Pas sûr d'avoir compris, mais ce qu'il ne faut jamais faire, c'est ça :

Code C/C++ :
#include <stdio.h>


char* Test()
{
char nResult;

nResult = 'a';
return &nResult;
}

int main()
{
printf("%c\n", *Test());
return 0;
}


Car nResult cesse d'exister après l'appel à Test, donc tu pointes sur n'importe quoi. Par contre tu peux définir ta variable comme statique. Mais à ce moment là la fonction n'est plus thread safe...

Code C/C++ :
#include <stdio.h>


char* Test()
{
static char nResult;

nResult = 'a';
return &nResult;
}

int main()
{
printf("%c\n", *Test());
return 0;
}


Donc c'est valide, c'est mieux, mais c'est pas encore parfait... Pour faire mieux faudrait voir précisément ce que tu essaies de faire.

lundi 3 août 2009 à 13:08:26 | Re : Pointeur sur char

valentin074

Salut,

Ta solution marche rt15 mais que si le char fait un caractère. Comment faire pour renvoyer un char de plusieurs caractères ?

Merci,
Valentin074

lundi 3 août 2009 à 14:42:04 | Re : Pointeur sur char

Kotomine


Un char n'a qu'un seul caractère ! (D'où son nom, et sa taille : 1)
Il t'en faut donc mettre plusieurs (de char), en tableau !

En C/C++, un pointeur, c'est un tableau !

J'imagine que tu as un char * dans ta fonction qui contient ton tableau de char.

Une élégante façon d'agir,en C ça consiste à faire un

return strdup( [ton pointeur] ) .


(Il faudra bien sûr penser a free()er le résultat de ta fonction)





;I'm just keeping the hopeless cross to increase the meaninglessness

lundi 3 août 2009 à 21:07:46 | Re : Pointeur sur char

valentin074

Bonjour,

Ok merci mais j'ai trouvé une autre solution et ça marche !

Valentin074

mardi 4 août 2009 à 10:32:52 | Re : Pointeur sur char

iloveprog

Commentaire très utiles pour les autres.... au moins explique ta solution, ou n'en parle pas!



Cette discussion est classée dans : fonction, variable, char, pointeur


Répondre à ce message

Sujets en rapport avec ce message

pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai pb pointeurs [ par Arnaud16022 ] bonsoirj'ai un peu de mal avec les pointeurs et ma fonction marche pas trop.Le but est de passer une variable en parametre a une fonction, qui va stoc pointeur et handle [ par yerosnimus ] Bonjour, bon, je suis débutant et surtout autodidacte en programmation. J'essaie de comprendre actuellement l'utilisation d'un pointeur avec une fonc Variable de type char [ par wolfcyber ] bonjour, J'aimerais savoir l'equivalent en C++ de la fonction "Mid(int nStart,int nCount)" de la classe CString, pour une variable de type char. Cet Pointeur sur char?????[HEEEEEEEEEEELLLLLLLLLLLLPP!!!!!!!!] [ par badboy38 ] Bonjour, J'aimerai passer par adresse une variable char dans plusieurs fonctions. Comment on fait?????? C'est pour éviter une variable globale... Me une question [ par deck_bsd ] Bonsoir tous le monde, Voila une question me trote dans la tête depuis quelque temps. Et notament qu'en j'ai vu la signature de la fonction strdup : problème de pointeur [ par Kurpeus1 ] Bonjour. J'ai déjà posé la question il y a deux trois jours mais je n'ai pas eu de réponse satisfaisante. Je me permet de réxpliquer mon problèmej'ai fonction pour "écrire" une variable [ par kenjomaster ] Bonjour,J'arrive à positionner un curseur, faire un clic, simuler une ou plusieurs combinaisons de touches.Mais je ne sais pas écrire une variable (du pointeur à la fin "\0" [ par avg ] j'ai une fonction qui demande un pointeur sur unsigned char mais il faut qu'il contient à la fin "\0" comment je peut faire [code=cpp] unsigned char


Nos sponsors


Sondage...

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 : 1,186 sec (3)

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