Está en la página 1de 5

PRACTICA N09

Laboratorio de Lenguaje de Programacin


Profesor: Mag. Ing. Rafael Bustamante Alvarez

Fstreams
Tipo de flujo para el manejo de ficheros. La definicin previa de ostreams/istreams es aplicable a este
apartado. Existen tres clases (ficheros de lectura, de escritura o de
lectura/escritura): ifstream,ofstream y fstream.
Como abrir un fichero: (nombre_variable_fichero).open("nombre_fichero.dat/txt",ios::in); para abrirlo en
modo lectura. (nombrevariablefichero).open("nombre_fichero.dat/txt",ios::out); para abrirlo en modo
escritura.
Ejemplo: f.open("datos.txt",ios::in);
Como cerrar el fichero: nombre_variable_fichero.close();
Ejemplo: f.close();
Leer un fichero:
#include <fstream>
#include <string>
#include <iostream>

using namespace std;

int main() {
ifstream entrada;
entrada.open("textoPlano.txt");
string unString;
while(entrada >> unString)
cout << "Lei: " << unString << endl;
return 0;
}
1) Programa: 1
#include<iostream>
#include<fstream>//LIBRERIA PARA MANEJAR ARCHIVOS
#include<string>
#include<windows.h>

using namespace std;
ofstream entrada; //OBJETO O VARIABLE PARA CREAR EL ARCHIVO

int main()
{
//VARIABLES USADOS PARA INGRESAR Y GUARDAR LOS DATOS
string nombre, apellidos;
int codigo, sueldo;
char opc;

entrada.open("datos_empleados.txt",ios::out|ios::app);//LLAMAR EL ARCHIVO
if (entrada.fail())//PREGUNTAR SI EL ARCHIVO EXISTE
{
cout<< "ERROR AL ABRIR EL ARCHIVO"<<endl;
}
else
{
do
{
cout<<"******DATOS DE EMPLEADOS*******"<<endl;
cout<<endl;
cout<<"CODIGO: ";
cin>> codigo;
cout<<"NOMBRE: ";
cin>>nombre;
cout<<"APELLIDOS: ";
cin>>apellidos;
cout<<"SUELDO: ";
cin>>sueldo;
entrada<<codigo<<" "<<nombre<<" "<<apellidos<<" "<<sueldo<<endl;//GUARDAR LOS dATOS
cout<<endl;
cout<<"desea continuar ingresando datos s/n"<<endl;
cin>>opc;
opc=toupper(opc);
}while (opc == 'S');
}
entrada.close();
system ("pausa");
return (0);
}

2) PROGRAMA 2: Escritura y lectura de un archivo.
#include <fstream>
#include <iostream>
using namespace std;
//Variables globales
char archivo[240];
char directorio[240];
int tamanio;
bool ejecutar = false;
//Funcion que calcula el total de bytes de un archivo equis.
int totalbytes(char* nombrearchivo) //Prototipo de la funcion
{
//Declaramos variable para el total de bytes del archivo.
int length;
//Abrimos el archivo en modo lectura solamente
ifstream archivosololectura;
//modo binario
archivosololectura.open (nombrearchivo, ios::binary );
// Leemos el total de bytes del archivo:
archivosololectura.seekg (0, ios::end);
//cargamos la variable integer
length = archivosololectura.tellg();
//cerramos el archivo
archivosololectura.close();
//Informamos el resultado
return length;
}
//funcion para la carga de datos
int cargardatos(char* nombrearchivo) //Prototipo de la funcion
{
//Solicitamos al operador para cargar cada una de las variables declaradas
cout << "Ingrese nombre y extension del archivo: ";
cin.getline (archivo, 240);
cout << "Path del directorio destino: ";
cin.getline (directorio, 240);
cout << "Ingrese tamanio del archivo: ";
cin >> tamanio;
cin.get();
ejecutar = false;
//Abrimos el archivo en el modo append
ofstream datosarchivo(nombrearchivo, ios::app);
//Si el total de bytes es mayor a cero verifando la longitud el archivo.
if (totalbytes("pepe.txt")>0)
{
//Se graba un salto de linea antes de agregar los datos del registro siguiente
datosarchivo << "\n" << archivo << "\n" << directorio << "\n" << tamanio << "\n" << ejecutar;
//Caso contrario si esta vacio
}
else
{
//No se agrega el salto de linea al primer registro.
datosarchivo << archivo << "\n" << directorio << "\n" << tamanio << "\n" << ejecutar;
}
//Cerramos el archivo.
datosarchivo.close();
//Pausamos el sistema
system("pause");
//Borramos el contenido de la pantalla
system("cls");
}
//Funcion para leer los datos del archivo.
int leerrdatos(char* nombrearchivo) //Prototipo de la funcion
{
//Abrimos el archivo en modo lectura
ifstream datosarchivo1(nombrearchivo);
//Mientras no se llegue al final u ocurra un error
while(!datosarchivo1.eof()&&!datosarchivo1.fail())
{
//Cargamos los datos del registro actual
datosarchivo1 >> archivo >> directorio >> tamanio >> ejecutar;
//Los informamos por pantalla
cout << "\nNombre y extension del archivo: " << archivo;
cout << "\nPath del directorio destino: " << directorio;
cout << "\nTamanio el archivo: " << tamanio;
cout << "\nSi se ejecutara?: " << ejecutar;
//Saltamos dos lineas
cout << "\n\n";
}
//Cerramos el archivo
datosarchivo1.close();
//Pausamos el sistema para mostrar la informacion.
system("pause");
//Salimos del programa
return 0;
}
//funcion principal
int main()
{
//Llamamos a la funcion con el nombre del archivo que queremos utilizar
cargardatos("pepe.txt");
//Leemos los datos cargados en este archivo.
leerrdatos("pepe.txt");
system("pause");
return 0;
}
3.- Programa 3.
//POSICIONAR UN CURSOR EN DEV C++
#include<iostream>
#include<cstdlib>
#include<stdio.h>
#include<conio.h>
#include<windows.h>
//#include <iostream>
//#include <windows.h>

using namespace std;

void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

int main()
{
gotoxy(20, 10);
cout<<"RESUELTO EL PROBLEMA"<<endl;
gotoxy(20, 19);
system("PAUSE");
return 0;
}
Trabajo
Desarrollar un programa que genere un archivo donde se guarde los numero primos del entre 1y
100. El archivo debe nombrase <nombredelalumnocodigo(seguido)>.txt. e imprimir los resultado en
el centro de la pantalla.

También podría gustarte