Los foros del Guille

elGuille.hosting: Ofertas de alojamiento
posiblemente los mejores precios
¡¡¡ Ahora con el doble de casi todo !!!

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

10/sep/2005
- Se puede indicar las fechas a mostrar en los mensajes de un foro, (el formato es mes/dia/año).
- Desde Personalizar puedes acceder a los zips posteados por los moderadores como respuestas a preguntas de los foros, también puedes seleccionar los foros favoritos para que te notifique.

  Foro: C / C++.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 56864 - Codigo Inalcanzable.
IDAsuntoFechaNick 
56864 Codigo Inalcanzable.21/12/12 13:22Mr. VB 6   
Hola a todos:
No se porque hay veces en que cierto codigo no se ejecuta y no se porque y realmente me pone de malas. En este caso es el bloque if marcado con "AQUI", siempre se ejecuta el else pero no el if, aunque nTabs sea 9.

Este es el programa completo. La funcion main.
bool error = false; //No hay error.

if(argc == 2)
{
    FILE *pFicheroEntrada = fopen(argv[1],"r");

    if(pFicheroEntrada != NULL)
    {
        FILE *pFicheroSalida = fopen("Salida.txt","w");

        rewind(pFicheroEntrada);
        char str[100] = "";
        char ch = '\0';
        int i = 0;
        int nTabs = 0;
        int tab6 = 0;
        int tab8 = 8;

        do
        {
            for(i = 0,ch = fgetc(pFicheroEntrada);(ch !=
                 '\n') && (ch != EOF);++i,ch = fgetc(pFicheroEntrada))
                str[i] = ch;

            str[i] = '\n';

            for(int k = 0,nTabs = 0;k < i;++k)
            {
                if(str[k] == '\t')
                {
                    ++nTabs;

                    if(nTabs == 6)
                        tab6 = i;
                    else if(nTabs == <img src='imagenes/smiles/rie_gafas.png' border='0' alt='rie_gafas'
                         />
                        tab8 = i;
                }
            }
                
/*AQUI*/        if(nTabs == 9)
            {
                for(int k = 0;k <= tab6;++k)
                    fputc(str[k],pFicheroSalida);
                    
                for(int k = tab8 + 1;k <= i;++k)
                    fputc(str[k],pFicheroSalida);
            }
            else
            {
                for(int k = 0;k <= i;++k)
                    fputc(str[k],pFicheroSalida);
            }
        }
        while(ch != EOF);
            
        fclose(pFicheroEntrada);
        fclose(pFicheroSalida);
    }
    else
        error = true;
}
else
    error = true;

if(error == true)
    printf("Ha ocurrido un error.\n");
else
    printf("Depuracion exitosa.\n");

getchar();

return 0;
Muchas gracias

PD: ya me habia pasado antes aunque no recuerdo donde.

[Editado: Mr. VB 6, 21/12/2012 13:22:26]
[Mr. VB 6, 21/12/2012 13:23:33]
[Mr. VB 6, 21/12/2012 13:24:26]
IDAsuntoFechaNick 
56865 Re: Codigo Inalcanzable. (Resp: 56864)21/12/12 13:27Mr. VB 6   
Se me olvido decir que uso el Microsoft Visual Studio 2010.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 101 - App. iniciada: 20/11/2017 14:38:06 GMT - La hora GMT del servidor es: 20/11/2017 15:25:20 GMT