begin process at 2012 05 29 04:49:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Fonction *char


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

Fonction *char

mardi 11 mai 2004 à 12:05:12 | Fonction *char

moustachu

Membre Club
Bonjour,

Je suis en train de faire évoluer une appli qui a pas de paramétrage à sortir de l'appli. Tout est codé en dir et ça craint assez (ex : strcpy(st,"c:\winnt") ).
Il ya également une bonne trentaine de message d'erreur qui doivent devenir paramétrable dans un fichier INI. Ces messages sont actuellement affiché par messagebox.

J'ai codé une fonction qui retourne un pointeur *char. J'ai lu pas mal de choses sur le forum, il m'a semblé que finallement ce n'était pas la meilleure solution... Je vous la présente quand même :

numerreur : le numéro d'erreur dans fichier INI
defmessage : message par défaut à afficher si jamais pb avec fichier INI.

char *ErrMessage(char *numerreur, char *defmessage)
{
int retour;
retour=GetPrivateProfileString("MESSAGE",numerreur,"",m_erreurmessage ,sizeof(m_erreurmessage ),pathini);
if(retour==0) strcpy(m_erreurmessage ,defmessage);
return m_erreurmessage ;
}

m_erreurmessage est déclarée "tout en haut" du fichier, donc accessible de partout (je me trompe pas là ?)

Y-a-t il des risques que ça plante méchament comme ça ?

Merci

Moustachu
mardi 11 mai 2004 à 14:26:25 | Re : Fonction *char

vecchio56

Administrateur CodeS-SourceS
non si ta variable est globale il n'y a aucun risque. Le prblème se pose quand on veut retourner un tableau déclaré dans la fonction, qui est donc détruit à la sortie de la fonction, mais ici ce n'est pas le cas.
mardi 11 mai 2004 à 14:45:00 | Re : Fonction *char

hilairenicolas


moi je comprends pas la logique, tu fais une fonction qui retourne quelque chose qui est connu
pourquoi ne pas faire une fonction void, qui ne retourne rien, et utiliser m_erreurmessage directement puisqu'il est accessible de n'importe ou ?

le seul interet je trouve est de pouvoir utiliser le retour avec un pointeur, mais bon avoir :
char * pErreur = ErrMessage(...);
ou plutot
ErrMessage(...);
char *pErreur = m_erreurmessage;
en général, quand une fonction retourne un pointeur, il a été alloué dans la fonction, soit :
char * maFunc(...)
{
char *retour = new char[TAILLE+1];
strcpy(...);
return retour;
Enfin, après, si tu te mélanges pas dans les pointeurs, ca devrait marcher
mardi 11 mai 2004 à 15:23:55 | Re : Fonction *char

moustachu

Membre Club
Merci de vos réponses,

>>hilairenicolas : c'est vrai que je n'avais pas vu ça comme ça... C'est surrement plus propre. En fait, c'était pour ne pas trop changer le code existant qui est assez dense par endroit.
J'utilise parfois la fonction comme ça

If(condition) MessageBox(0,ErrMessage("01","blabla"),"Erreur",0);

Voilà,

Merci encore, je ne suis pas un pro en C donc tous les conseils sont les bienvenus, je dois porter un vieux code (win3.11) vers XP, et c'est pas drôle tous les jours :op

++
moustachu


Cette discussion est classée dans : fichier, message, fonction, char, erreurmessage


Répondre à ce message

Sujets en rapport avec ce message

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 manipulation LPCWSTR et char[] [ par ebooserge ] salut a tous,je suis en train de realiser un petit prog avec directshow et j'ai quelques diffcultées.je dois utiliser une fonction qui prend en parama passage de valeurs de fonction a fonction [ par binoua ] salut à tous,Je débute en c++ et je n'arrive pas à faire le truc de base. En fait dans ma fonction principale je rentre le nom d'un fichier puis je di lecture etenvoi de fichier binaire [ par mitali ] Bonjour tt l mondej'ai un souci au niveau d'une fonction qui me permet d'envoyer un fichier de type tar.gz vers un serveur,por cela j'utilise la fonct cherchet afficher un ou plusieurs ligne d'une fichier texte . [ par brell ] bon jour! cette fonction a comme parametre fichier contenant les messages et une chaine de caracteres contenant le destinateur. cette fonction permet Lecture ligne par ligne de fichier txt en C++pour re-jeu de données Temps Reel [ par DamienR83 ] Bonjour, Je souhaite faire une API en C++ avec un affichage de données en "pseudo temps-réel". L'ensemble des mes données sont déjà enregistrées par erreur de pointeur [ par africanwinners ] Bonsoir j'ai concu un programme c qui permet de lire un fichier,de supprimer les doublons (les doubles) mais il y a des problèmes lors de la lecture d question rapide : templates ... [ par kamuikun ] Bonjour, Petite question concernant les templates en C++ : En gros, j'ai une fonction qui peut avoir plusieurs variantes selon le type de son paramè Threads, fonction et mutex ? [ par Adict ] bonjour à tout le monde [^^happy13] dans mon projet de créer un tchat il faut que j'applique sur le client un thread qui exécute une autre fonction q


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

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