Je fais quelques exercices en C, et je rencontre une erreur que je ne comprend pas (c’est là qu’on voit que le python n’aide pas).
J’ai une fonction :
char *
getmpdstat() {
Elle est donc censée retourner une chaine de caractères.
Lorsque par contre, je veux qu’elle retourne une chaîne vide, il y a erreur de segmentation.
Erreur avec : return "";
Fonctionne avec : return smprintf("")
Sachant que la fonction smprintf est la suivante :
[code]char *
smprintf(char *fmt, …)
{
va_list fmtargs;
char *buf = NULL;
va_start(fmtargs, fmt);
if (vasprintf(&buf, fmt, fmtargs) == -1){
fprintf(stderr, "malloc vasprintf\n");
exit(1);
}
va_end(fmtargs);
return buf;
}
[/code]
Quelqu’un peut m’éclairer?