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
Hay que depurar (http://en.wikipedia.org/wiki/Debugger) el codigo, no existe nada mejor para aprender y comprender.