Return char

Résolu
nem02004 Messages postés 47 Date d'inscription vendredi 21 mai 2004 Statut Membre Dernière intervention 23 avril 2007 - 12 oct. 2005 à 17:56
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 - 12 oct. 2005 à 23:56
char test() {
char tst[10];
sprintf(tst,"looool");
return tst;
}
int main() {
MessageBox(NULL,test,NULL,NULL);
}

Je epnse que vous comprenez ce que je voudrais faire. merci a vous de m'aider :D

9 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
12 oct. 2005 à 18:42
void Test(char* sz)

{

sprintf(sz, "Loooooool");

}



int main()

{

char Essai[128];

Test(Essai);

}
if(!Meilleur("Joky")) return ERREUR;
3
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
12 oct. 2005 à 22:18
void main()

{

MessageBox(0, get(), 0, 0);

}



char *get()

{

char *tst;

tst malloc( 10 ); // c++ : tst (char*) malloc( 10 );

sprintf(tst, "loooool");

return tst;

}
0
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 1
12 oct. 2005 à 22:41
char test() {

char tst[10];

sprintf(tst,"looool");

return tst;

}

int main() {

MessageBox(NULL,test(),NULL,NULL);

}
0
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 1
12 oct. 2005 à 22:42
char* test()....



j'ai oublié l'*
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 2
12 oct. 2005 à 23:07
hmmm normalement tu ne peux pas retourner de la memoire dynamique ... enfin je veux dire un char truc[10] ...





char *test() {

char *tst = (char*)malloc(10 * char);

sprintf(tst,"looool");

return tst;

}

int main() {

MessageBox(NULL,test(),NULL,NULL);

}
0
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 1
12 oct. 2005 à 23:15
exact, une erreur de plus dans mon code



En même temps : allocation dynamique => il faut s'occuper de désallouer la mémoire.



donc:



char *test() {

char *tst = new char[10];

strcpu(tst, "looool");

return tst;

}

int main()

{

char * message=test();

MessageBox(NULL,message,NULL,NULL);

delete message;

}



Oui, je fais du c++ là, je sais plus trop comment on 'delete' en C...

Du coup ca vaut peut-être plus le coup de faire un fonction pour ça ?

saus si 'test' fait un plus plus de boulot que ca.
0
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 2
12 oct. 2005 à 23:25
delete = free en C -> free(message);
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
12 oct. 2005 à 23:52
En C++ c'est delete[] dans ton cas, pas delete
0
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 1
12 oct. 2005 à 23:56
Je fais vraiment de la merde ce soir....



je vais me coucher au lieu de taper toutes ces conneries :-(
0
Rejoignez-nous