C/Visual C - Ayuda programa ficheros

   
Vista:

Ayuda programa ficheros

Publicado por Sergio (8 intervenciones) el 29/03/2009 20:36:56
Buenas tardes, estoy desarrollando unos progrmas de ficheros, y tengo algun que otro problema que no se como resolver, si alguien puede dedicarme unos minutos de su tiempo para solucionarlos les estaria muy agrdecidos.
mi correo es el: el_de_vila@hotmail.com, agregenme y los solucionamos, muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de C/Visual C
- Código fuente de C/Visual C
- Cursos de C/Visual C
- Temas de C/Visual C
- Chat de C/Visual C
información
Códigos de C/Visual C
- Código Morse
- Calculadora en C++
- Sniffer

RE:Ayuda programa ficheros

Publicado por Sergio (8 intervenciones) el 29/03/2009 20:39:28
en uno de ellos, tengo que intoducir una serie de cadenas, y luego mostrarlas, el problema es que solo me muestra la primera palabra de la cadena, les adjunto el codigo fuente:

#include <stdio.h>
#include <stdlib.h>
#define MAX 100

void escriptura(void);
void lectura(void);

main()
{
escriptura();
lectura();

}

void escriptura(void)
{
FILE *fp;
char a;
char nom[MAX];

char cadena1[MAX];
char cadena2[MAX];
char cadena3[MAX];

printf(" Intoduiex el nom del fitxer per escriure: ");
scanf("%s",&nom);
fflush(stdin);


if((fp=fopen(nom,"w"))==NULL)
{
puts(" No pot obrir-se el fitxer");
exit(-1);
}

printf(" Intoduiex la primera cadena: ");
scanf("%s",cadena1);
fflush(stdin);
fputs(cadena1,fp);
fputs(" ",fp);

printf(" Intoduiex la segona cadena: ");
scanf("%s",cadena2);
fflush(stdin);
fputs(cadena2,fp);
fputs(" ",fp);

printf(" Intoduiex la tarcera cadena: ");
scanf("%s",cadena3);
fflush(stdin);
fputs(cadena3,fp);

fclose(fp);
}

void lectura(void)
{
FILE *fp;
char nom[MAX];
char cadena1[MAX];
char cadena2[MAX];
char cadena3[MAX];

printf(" Intodueix el nom del fitxer per lectura: ");
scanf("%s",nom);
fflush(stdin);

if((fp=fopen(nom,"r"))==NULL)
{
puts(" No pot obrir-se el fitxer");
exit(-1);
}

fgets(cadena1,MAX,fp);
fgets(cadena2,MAX,fp);
fgets(cadena3,MAX,fp);
fclose(fp);


printf(" La cadena1 es: %s", cadena1);

printf(" La cadena2 es: %s", cadena2);

printf(" La cadena3 es: %s ", cadena3);

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SOLUCIONADO

Publicado por Sergio (8 intervenciones) el 29/03/2009 21:11:12
SOLUCIONADO
Al tratarse de cadenas la opcion scanf("%s",nombrevariable) NO es correcta, en canvio un gets(nombrevariable) SI funciona,
Gracias a los que os habeis molestado a leer mi Problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar