principiante

Iniciado por adjmir, 30 Junio 2014, 23:41 PM

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

adjmir

copie esto de un ejemplo en youtube para ingresar un mensaje en un archivo de texto ahora quisiera utilizarlo dentro de una de las opciones del switch(opcion) pero no me deja ingresar texto
ESTO FUE CUANDO FUNCIONO
FILE *fichero;
   char cadena[4000];
   if((fichero=fopen("datos.txt","a"))!=NULL)
   {
      printf("el archivo se abrio \n");
      printf("introduzca el mensaje \n\n");
      fgets(cadena,4000,stdin);
      fputs(cadena,fichero);
      printf("mensaje grabado \n");
      fclose(fichero);
   }else
   {
      printf("error");
   }
ESTO ES CUANDO NO FUNCIONO
case 2:
         if((fichero=fopen("datos.txt","a"))!=NULL)
   {
      printf("el archivo se abrio \n");
      printf("introduzca el mensaje \n\n");
      fgets(cadena,4000,stdin);
      fputs(cadena,fichero);
      printf("mensaje grabado \n");
      fclose(fichero);
   }else
   {
      printf("error");
   }
   break;

ivancea96

¿El char cadena[4000] y el FILE *fichero los colocaste en el segundo código?
¿Qué error o problema te da?

PD:Coloca las etiquetas GeSHi para poner código. Lo tienes arriba a la derecha, sobre los emoticonos, al crear el mensaje.

MeCraniDOS

Cita de: ivancea96 en 30 Junio 2014, 23:51 PM
¿El char cadena[4000] y el FILE *fichero los colocaste en el segundo código?

Creo que si lo ha copiado, debe pensar que no se pueden declarar las variables dentro del case y no las ha puesto  :silbar:

Saludos
"La física es el sistema operativo del Universo"
     -- Steven R Garman

leosansan



,,,
. .
|
\-/



La declaración de fichero y cadena han de ir antes de los case porque si los metess en el case te cantará error:

Citar
error: a label can only be part of a statement and a declaration is not a statement|

¡¡¡¡ Saluditos! ..... !!!!





eferion

Cita de: leosansan en  2 Julio 2014, 13:21 PM


,,,
. .
|
\-/



La declaración de fichero y cadena han de ir antes de los case porque si los metess en el case te cantará error:

¡¡¡¡ Saluditos! ..... !!!!






Si encierras el contenido del case con llaves el error debería desaparecer.