Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/11/2011, 02:08
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Problema con caracter /

¿ Qué quieres decir con "me salta la condición"? Yo lo que veo dentro del bloque de if (ret==0) es:

En el primer if pones la condición (path_[cont1] != slash. Si esta condición no se cumple, es que path_[cont1] es igual a slash, con lo que la condición que has puesto en el if del primer else es siempre cierta. Además, el bloque del segundo else no se ejecutará jamás, ya que, tal como lo has puesto, path_[cont1] solo puede ser distinto de slash (se ejecuta el bloque del if) ó igual a slash (bloque if del primer else).

Lo que tienes que hacer es comprobar si el carácter es igual a slash Ó igual a contraslash, o bien, si es distinto de slash Y distinto de contraslash (que es el caso que te pongo como ejemplo):

Código C:
Ver original
  1. if (ret==0)
  2.         {
  3.             if ( (path_[cont1]!=slash) && (path_[cont1]!=contraslash) )
  4.                         {
  5.                 (*newPath_)[cont2]=path_[cont1];
  6.                 cont2++;
  7.             }
  8.             else
  9.                         {
  10.                 (*newPath_)[cont2]=slash;
  11.                 cont2++;
  12.                 (*newPath_)[cont2]=slash;
  13.                 cont2++;
  14.             }
  15.             else
  16.                         {
  17.                               // A lo que has puesto aquí como tratamiento de errores no llegaría
  18.                 //tratamiento errores
  19.                 ret=1;
  20.             }
  21.         }

Saludos,