El presente archivo de texto contiene el código fuente de un programa en C++ que nos permite crear y editar archivos. Para crearlos se debe pasar el nombre del archivo a crear seguido de un punto y la extensión del mismo, por ejemplo : "miarchivo.doc". Pudiéndose crear así archivos de cualquiera o incluso sin ninguna extensión. El programa fue compilado con Code::Blocks corriendo en Windows
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Manejo de-ficheros-C++
1. /*A) Una función de nombre crear que es llamada desde main crea el archivo
recibido como
agumento mediante un puntero a un array de caracteres. Esta función retorna
true en caso de que se pueda crear exitosamente el archivo o false en caso
contrario. El retorno ( true o false) se mostrará con un cartél desde
main indicando el Exito o Fracaso al crear el archivo ( true / false
respectivamente)
B)Una función de nombre menú generará el siguiente menú:
1) Crear el Archivo idicando nombre.
2) Mostrar el contenido del archivo
3) Agregar texto al archivo.
4) Borrar fichero.
5) Salir
La función menú no recibe arguemnto y retorna solamente 1,2 ,3 o S.
Cualquier otra tecla será ignorada y se mostrará un cartel con el texto:
"Opción no valida, intente nuevamete".
Para el caso del punto 1 llamará a la función ya explicada de nombre crear del
punto A
C)La función invocada en el punto 2 permitirá mostrar el contenido del
archivo por pantalla, esta recibirá como arguemento un puntero.-
D)La función del punto 3 recibirá también un puntero al archivo
y agregará el texto ingresado por teclado al final del archivos.*/
//////////////////////////////////////////
#include<iostream>
#include<fstream>
using namespace std;
char menu(void);
bool crear (char *puntero);
void mostrar(char *puntero);
void agregar(char *puntero);
///////////////////////////////////////////
int main()
{
system("title EL INGRESO DEL NOMBRE DEL ARCHIVO DEBERA SER ASI: miarchivo .
extension ");
char select,vec[16];
char *p;
bool a=false;
p=&vec[0];
do
{
select=menu();
switch(select)
{
case '1':
{
system("cls");
cin.get();
cout<<endl<<"Ingrese nombre del archivo: ";
cin.getline(vec,16);
a=crear (p);
if(a==true)
cout<<endl<<"El fichero se ha creado exitosamente";
else cout<<endl<<"Fichero no creado: verifique si el
fichero ya existe";
cin.get();
}
break;
2. case '2':
{
system("cls");
cin.get();
cout<<"Ingrese el nombre del archivo a leer: ";
cin.getline(vec,16);
mostrar(p);
}
break;
case '3':
{
system("cls");
cin.get();
cout<<"Ingrese el nombre del archivo a escribir: ";
cin.getline(vec,16);
agregar(p);
}
break;
case '4':
{
system("cls");
cin.get();
cout<<"Ingrese el nombre del archivo a eliminar: ";
cin.getline(vec,16);
remove(p);
}
break;
}
}while(select!='5');
return(0);
}
////////////////////////////////////////
char menu(void)
{
char sel;
do
{
system("cls");
printf("En cada caso se debe cargar el nombre correcto del archivo seguido
del punto y su extension tenga cuidado con el uso de letras en mayuscula y/o
minuscula n ");
cout<<endl<<endl<<"1) Crear el archivo";
cout<<endl<<"2) Mostrar el contenido del archivo";
cout<<endl<<"3) Agregar texto al archivo";
cout<<endl<<"4) Borrar archivo";
cout<<endl<<"5) Salir"<<endl<<endl;
cin.get(sel);
}while(sel!='1'&& sel!='2'&& sel!='3'&& sel!='4'&& sel!='5' );
return(sel);
}
//////////////////////////////////////////
bool crear (char *puntero)
{
char cadena[16];
system("cls");
for(int i=0;i<16;i++)
cadena[i]=*(puntero+i);
ifstream fich(cadena);
if( !fich.good())
{
ofstream fich(cadena);
fich.close();
if(fich.good())
{
3. fich.close();
return(true);
}
}
else
{
fich.close();
return(false);
}
}
////////////////////////////////////////////
void mostrar(char *puntero)
{
char cadena[128];
system("cls");
ifstream fich(puntero);
if( fich.good())
{
ifstream fich(puntero);
while(!fich.eof())
{
fich.getline(cadena,128);
cout << cadena << endl;
}
fich.close();
}
else cout<<endl<<"El archivo no existe o esta danado";
cout<<'n'<<'n';
system("pause");
}
//////////////////////////////////////////
void agregar(char *puntero)
{
char resultado[300];
ifstream fich(puntero);
if(fich.good())
{
cout<<endl<<"Ingrese texto: ";
cin.getline(resultado,300);
ofstream outfile;
outfile.open (puntero, ios_base::app);
outfile<<resultado<<endl;
outfile.close();
}
else
cout<<endl<<"El archivo no existe o se encuentra danado";
cout<<'n'<<'n';
system("pause");
}
/////////////////////////////////////////