necesito su consejo por favor , les cuento tengo una funcion que quita algunos caracterers y luego retornar un puntero a char * que deberia ser valido pero siempre me da null o la aplicacion se cae. es mejor que les muestre... la hize de varias manera..
Código
char *purge_char(char *buff, char ch) { char *ret = NULL; //OJo char *temporal = NULL; int len = strlen(buff); int index= 0; int omitidos = 0; temporal = new char[len + 1]; while(index < len) { if(buff[index] != ch) { temporal[omitido] = buff[index]; omitido++; } index++; } ret = new char[omitido + 1]; index = 0; while(index < omitido) { ret[index] = temporal[index]; } delete temporal; return ret; } char *purge_char(char *ret, char *buff, char ch) { if(ret != NULL) { delete ret; ret = NULL; } char *temporal = NULL; int len = strlen(buff); int index= 0; int omitidos = 0; temporal = new char[len + 1]; while(index < len) { if(buff[index] != ch) { temporal[omitido] = buff[index]; omitido++; } index++; } ret = new char[omitido + 1]; index = 0; while(index < omitido) { ret[index] = temporal[index]; } delete temporal; return ret; }
esas dos formas son las que yo uso y me dan error ambas , me gustaria que alguien me aconsejara please.