C/Visual C - problemas con ficheros

   
Vista:

problemas con ficheros

Publicado por Bea (2 intervenciones) el 17/04/2009 19:50:15
Hola me gustaría saber porque esto da problemas:

#include<stdio.h>

int main(){
FILE *f;
int a;

f=fopen("dat.txt","r");
fscanf(f,"%d",&a);
printf("%d ",a);
fclose(f);

}

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

RE:problemas con ficheros

Publicado por jose (21 intervenciones) el 17/04/2009 21:41:12
#include< stdio.h >
#include< string.h >

int main()
{
char * path = "c:\dat.txt";
FILE *f;
char text[15];

// abrir fichero ( r )....
f = fopen( path,"r" );

if( f == NULL ) // si el fichero no existe retorna NULL(0) y mostramos un mensaje.
{
printf( "no se encontrxA2 el archivo... " ); // xA2 = ó.
printf( "se crearxA0 uno... " ); // xA0 = á.

// crear fichero nuevo ( w )....
f = fopen( path,"w" );
strcpy( text, "100001 3000003" ); // escribimos dos valores en una cadena(texto).
fwrite( &text, 1, strlen(text), f );
fclose( f );

// abrir fichero nuevo ( r )....
f = fopen( path,"r" );
}

int a, b, total;

// fscan:
// Com fscan el contenido de fichero debe ser solo texto o sino obtendremos 'basura'.
// El valor de retorno es el total de campos leidos de otra forma EOF = -1.
// total = fscan( file, "%%%...", campo1, campo2, campo3, etc... );
total = fscanf( f, "%d %d", &a, &b ); // leemos dos valores.

if( total == -1 ) //EOF
{
printf( "el fichero %s no contiene nada... ", path );
return 0;
}

if( total > 0 )
printf( "valor_a = %d ", a );
if( total > 1 )
printf( "valor_b = %d ", b );

fclose( f );
return 0;
}
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