Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: m@o_614 en 9 Octubre 2013, 21:54 pm



Título: problema con strcmp
Publicado por: m@o_614 en 9 Octubre 2013, 21:54 pm
Saludos, tengo el siguiente codigo que me dice que tengo que ingresar nombres a un archivo de texto y en cuanto el usuario teclee la palabra fin termine, el problema es que el codigo no se detiene cuando le ingreso la palabra fin y no entiendo por que

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define TAM 10
  5. /*
  6.    Crea un programa que vaya leyendo las frases que el usuario teclea, y las guarde en un fichero de texto,
  7.    llamado “registroDeUsuario.txt”. Terminará cuando la frase introducida sea "fin"(esa frase no deberá guardarse en el fichero).
  8. */
  9.  
  10. int main()
  11. {
  12.    FILE *fd;
  13.    int i = 0,continuar = 1;
  14.    char nombre[TAM],cad[]= "fin",*p;
  15.    if((fd = fopen("F:\\registroDeUsuario.txt","w"))!= NULL)
  16.    {
  17.        do
  18.        {
  19.            printf("Dame el nombre %d:\n",i++);
  20.            fgets(nombre,TAM,stdin);
  21.            if((p = strchr(nombre,'\n'))!=NULL)
  22.               *p = '\0';
  23.            fwrite(nombre,sizeof(char),strlen(nombre),fd);
  24.            if(strcmp(nombre,cad) == 0)
  25.               continuar = 1;
  26.        }while(continuar);
  27.    }
  28.    else
  29.       printf("No se pudo abrir archivo");
  30.    return 0;
  31. }
  32.  

de antemano gracias



ya vi donde me equivoque, en la bandera continuar era 0 en vez de uno  :P


Título: Re: problema con strcmp
Publicado por: Eternal Idol en 9 Octubre 2013, 22:48 pm
Hay que depurar (http://en.wikipedia.org/wiki/Debugger) el codigo, no existe nada mejor para aprender y comprender.