salut,
si tu fais ca:
char* NomFonc( type arg1, ... )
{
char *Buff = new char[256];
return Buff;
delete[] Buff;
}
tu peux etre sur que la mémoire ne sera jamais liberée.
si tu fais du C, une solution est de déclarer le tableau de char
que tu renvoies en static (uniquement s'il est de taille constante ou
bornée)
char* NomFonc( type arg1, ... )
{
static char ret[256];
// remplir ret ...
return ret;
}
sinon, tu es obliger de te taper la désallocation dans la fonction appelante:
char* NomFonc( type arg1, ... )
{
char* ret = (char*)malloc( taille );
// remplir ret ...
return ret;
}
int main()
{
char* chaine = NomFonc( ....);
// utiliser chaine
// et le desallouer
free(chaine);
return 0;
}
si tu fais du C++ :
#include <string>
using namespace std;
string NomFonc(type arg1, ...)
{
// ici ca renvoie salut, tu peux faire ce que tu veux en fait ...
return string("salut");
}
a+