Вы находитесь на странице: 1из 2

Primero se debe declarar un puntero de tipo FILE para poder guardar la direccin d

e memoria del archivo de texto que se quiere crear, sobrescribir o leer (segn com
o se defina lo que se quiera hacer, cosa que veremos mas adelante)
Primero un ejemplo y despus la explicacin :
Cdigo: C++
# include <stdio.h>
# include <conio.h>
FILE *doc;
int main(){
doc = fopen("prueba.txt","w");
printf("ponga los nombres de los jugadores");
char jug[15];
char resp;
int n = 0;
do{
printf("\nfJugador %d : ",n);
scanf("%s",jug);
fprintf(doc,"%s \n",jug);
n++;
printf("\nIngresar nuevo jugador? (s/n)");
resp = getch();
}while( resp == 's' || resp == 'S');
fclose(doc);
return 0;
}

En la cabecera del programa se declara un puntero a un archivo de texto


Cdigo: C++
FILE *doc;
Hora cuando hacemos lo siguiente:
Cdigo: C++
doc = fopen("prueba.txt","w");
le decimos al compilador que el puntero tome la direccin del archivo prueba.txt y
poniendo "w" como segundo parmetro definimos que el archivo debe ser creado en c
aso de que no exista y en caso de existir se sobrescribir (se borraran los datos
ya existentes) ademas que solo podemos usar el archivo para escritura unicamente
.
Dependiendo de la letra que se ponga como segundo parmetro se puede hacer distint
os usos del archivo por ejemplo para la lectura de datos.
"r"

Abrir un archivo para lectura. El archivo debe existir.

"w" Crear un archivo vaco para la escritura. Si un archivo con el mismo nombre
ya existe su contenido se borra y el archivo se trata como un nuevo archivo vaco.
"a"

Anexar a un archivo. Operaciones de escritura aadir datos al final del arch

ivo. El archivo se crea si no existe.


"r+" Abrir un archivo de actualizacin de la lectura y la escritura. El archivo
debe existir.
"w+" Crear un archivo vaco, tanto para la lectura y la escritura. Si un archivo
con el mismo nombre ya existe su contenido se borra y el archivo se trata como
un nuevo archivo vaco.
"a+" Abrir un archivo para leer y aadir. Todas las operaciones de escritura se
realiza al final del archivo, la proteccin del contenido anterior a ser sobreescr
ito. Puede cambiar la posicin ( fseek , rewind ) el puntero interno a cualquier p
arte del archivo para su lectura, pero las operaciones de escritura har que se mu
eva de nuevo al final del archivo. El archivo se crea si no existe.
Despues guardamos el nombre del jugador en la variable jug e imprimimos la caden
a jug en el archivo de texto con las siguientes lineas de codigo:
Cdigo: C++
scanf("%s",jug);
fprintf(doc,"%s \n",jug);
Las funciones para imprimir o leer datos son parecidas a las que ya conocemos so
lo que se le antecede con una f (fprintf , fscanf) y se le aumenta un parmetro el
cual se pone al principio con el nombre del puntero.
Por ultimo, si ya no se desea ingresar mas nombres solo se tiene que precionar u
na tecla distinta de "s"
Una vez que se haya ejecutado el programa aparecer un archivo de texto con el nom
bre prueba y dentro veremos los nombres que se han ingresado durante la ejecucin
del programa.
Si se quiere leer los datos directamente desde el programa se debe creas otro pu
ntero FILE y declarlo de la siguinte manera:
(la implementacin de esta parte al cdigo original para que se pueda leer todos los
nombres se le deja al lector)
Cdigo: C++
FILE *leer;
int main(){
leer = fopen("prueba.txt","r");
char nombre[15];
// leer el primer nombre
fscanf(leer,"%s",nombre);
printf("%s\n",nombre);
......................
......................
......................
}

Вам также может понравиться