Obsługa błędów (wskaźniki)

0

Napisałem funkcję i chcę uzyskać opis błędu (jeśli taki nastąpi) za pomocą wskaźników.

 int funkcja(int arg,int* nrb, char** opbledu)

O ile w przypadku numeru błędu (nrb) nie mam problemów z jego uzyskaniem (w ciele funkcji *nrb=5, potem odczytuje *nrb) to już w przypadku opisu, który jest tablica znaków, nie mogę sobie poradzić :(

0
*opbledu = new char[100];
strcpy(*opbledu,"blad");

poza funkcja:

int nrbledu;
char* opbledu;
int a = funkcja(1234,&nrbledu,&opbledu);
printf("%s\n",opbledu);
delete [] opbledu;
0

przeciez tablica znajdujaca sie w funkcji (opbledu) usunie sie automatycznie po zakonczeniu funkcji wiec jak chcesz pokazac ja wskazniekiem pozniej w funkcji printf

0

Dzięki, wszystko działa:P

0

proponuje:

    *err = new char[strlen("opis bledu")];
    strcpy(*err,"opis bledu");

opis bledu mozna walnac do jakiedos #define. a tym sposobem upewniamy sie ze zawsze zostanie zaalokowane tyle pamieci ile trzeba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1