lunes, 16 de enero de 2012
Ficheros 3
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *f, *g;
char nomFich[50], nomFich2[50];
char c;
double res, n;
printf("Introduce el nombre del fichero: ");
scanf("%s", nomFich);
f=fopen(nomFich, "r");
if (f==NULL)
printf("El fichero \'%s\' no se ha podido abrir.", nomFich);
else {
printf("Introduce el nombre del fichero resultado: ");
scanf("%s", nomFich2);
g=fopen(nomFich2, "w");
if (g==NULL) {
printf("El fichero \'%s\' no se ha podido abrir.", nomFich2);
fclose(f);
}
else {
fscanf(f, "%lf%c", &res, &c); /*Leer primer número y espacio o \n */
while (!feof(f)){
fprintf(g,"%7.2f ", res);
while (!feof(f) && (c!='\n')){
fscanf(f, "%c%lf",&c,&n); /*Leer operación y número */
fprintf(g,"%c %7.2f ",c, n);
switch (c) {
case '+': res=res+n;break;
case '-': res=res-n;break;
case '*': res=res*n;break;
case '/': res=res/n;break;
}
fscanf(f,"%c",&c); /* Leer \n */
}
fprintf(g, "= %7.2f\n", res);
fscanf(f, "%lf%c", &res, &c); /*Otra vez lo mismo con la siguiente línea */
}
fclose(f);fclose(g);
}
}
system("pause");
return 0;
}
Ficheros 2
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,i;
char s[100];
FILE *pf;
/* abrimos un fichero donde escribimos
con fputs() y leemos con fgets() */
pf=fopen("hola.txt","w+");
fputs("hola pepe\n",pf); /* escribimos en el fichero */
fputs("hasta luego\n",pf);
rewind(pf);
system ("pause");
printf("\nLEEMOS FICHERO:\n");
fgets(s,100,pf); /* leemos del fichero */
puts(s);
fgets(s,20,pf);
puts(s);
if(feof(pf)) printf("error_1\n");
system("pause");
/* si sigo leyendo hay error */
printf("\nSI SEGUIMOS LEYENDO MAS ALLA DE EOF --> ERROR!\n");
fgets(s,100,pf);
if(feof(pf)) printf("error_2\n");
puts(s);
fclose(pf);
/* reabrimos y leemos caracter a caracter */
pf=fopen("hola.txt","r+");
printf("LEEMOS CARACTER A CARACTER: \n");
while(feof(pf)==0)
{
c=getc(pf);
putchar(c);
}
putchar('\n');
fclose(pf);
system("pause");
printf("\n FINALMENTE BORRAMOS EL FICHERO.\n");
remove("hola.txt");
printf("\n\n");
system("PAUSE");
return 0;
}
Ficheros 1
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main( )
{
char cad[MAX];
FILE *pf;
/* STEP 1: Creamos fichero y escribimos en el mismo */
pf=fopen("fichero1.txt","w");
fprintf(pf, "HOLA: ESCRIBIENDO EN UN FICHERO.\n");
fputs("Esto es una prueba.\n",pf);
fclose(pf);
printf("\nComprueba en tu carpeta la creacion del fichero\n\n");
system("pause");
system("cls");
/* STEP 2: Renombramos el fichero */
rename("fichero1.txt","fichero11.txt");
printf("\nComprueba en tu carpeta el cambio de nombre del fichero\n\n");
system("pause");
system("cls");
/* STEP 3: Abrimos el fichero y leemos su contenido */
printf("\nAhora leemos el fichero y lo escribimos por duplicado en pantalla: \n\n");
pf=fopen("fichero11.txt","r");
fgets(cad,MAX,pf);
printf("%s",cad);
puts(cad);
printf("\n");
fgets(cad,MAX,pf);
fprintf(stdout, "%s",cad);
fputs(cad,stdout);
printf("\n");
fclose(pf);
system("pause");
system("cls");
/* STEP 4: Borramos fichero */
printf("\nFinalmente borramos el fichero.\n\n");
remove("fichero11.txt");
system("PAUSE");
return 0;
}
miércoles, 11 de enero de 2012
/* Abertura, escritura y lectura en un fichero de texto.
Fijaos en la carpeta donde estais trabajando el fichero
"hola.txt" que se crea. Abrirlo y ver como se ha escrito
la informacion en él */
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,i,j,jl;
char s[100];
FILE *pf;
/* reabrimos y leemos caracter a caracter */
pf=fopen("hola.txt","r");
//printf("Escribe la primera letra una 'h'\n");
printf("LEEMOS CARACTER A CARACTER: \n");
j=0;jl=0;
while(feof(pf)==0)
{
c=getc(pf);
j++;
if(c=='\n')jl++;
} //leemos fichero y contamos total numero de caracteres y los
//saltos de linea para luego ir hacia atrás los caracteres mas los
//saltos de linea
printf("%d",j);
i=0;
for(i=0;i<j+jl;i++) //me voy mismo numero de caracter hacia atrás
{
fseek(pf,-i,SEEK_END);
c=getc(pf);
putchar(c);
}
putchar('\n');
system("PAUSE");
return 0;
}
Suscribirse a:
Entradas (Atom)