Los foros del Guille

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

Google
 

Ya está a la venta Novedades de Visual Basic 9.0

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

24/mar/2007
IMPORTANTE Por favor, cuando hagas una consulta, comprueba si te han respondido, y en caso de que la respuesta sea satisfactoria, indicalo pulsando en el botón de que esa respuesta es la correcta. Es lo menos que debes hacer, ya que así más gente sabrá que esa respuesta contestaba a tu duda.
Gracias.

  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-2018  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 83 - App. iniciada: 23/07/2018 0:18:58 GMT - La hora GMT del servidor es: 23/07/2018 02:10:31 GMT