problema con strcmp

Iniciado por m@o_614, 9 Octubre 2013, 21:54 PM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TAM 10
/*
  Crea un programa que vaya leyendo las frases que el usuario teclea, y las guarde en un fichero de texto,
  llamado "registroDeUsuario.txt". Terminará cuando la frase introducida sea "fin"(esa frase no deberá guardarse en el fichero).
*/

int main()
{
   FILE *fd;
   int i = 0,continuar = 1;
   char nombre[TAM],cad[]= "fin",*p;
   if((fd = fopen("F:\\registroDeUsuario.txt","w"))!= NULL)
   {
       do
       {
           printf("Dame el nombre %d:\n",i++);
           fgets(nombre,TAM,stdin);
           if((p = strchr(nombre,'\n'))!=NULL)
              *p = '\0';
           fwrite(nombre,sizeof(char),strlen(nombre),fd);
           if(strcmp(nombre,cad) == 0)
              continuar = 1;
       }while(continuar);
   }
   else
      printf("No se pudo abrir archivo");
   return 0;
}


de antemano gracias




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

Eternal Idol

Hay que depurar el codigo, no existe nada mejor para aprender y comprender.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón