#include <iostream>
#include <fstream>
#include <string>
void crearArchivo(const std::string& nombreArchivo) {
std::ofstream archivo(nombreArchivo);
if (archivo.is_open()) {
std::cout << "Archivo creado: " << nombreArchivo << std::endl;
archivo.close();
} else {
std::cerr << "No se pudo crear el archivo." << std::endl;
}
}
void guardarArchivo(const std::string& nombreArchivo) {
std::ofstream archivo(nombreArchivo);
if (archivo.is_open()) {
std::string contenido;
std::cout << "Escribe el contenido (escribe 'FIN' para terminar):" << std::endl;
while (true) {
std::getline(std::cin, contenido);
if (contenido == "FIN") break;
archivo << contenido << std::endl;
}
archivo.close();
std::cout << "Archivo guardado: " << nombreArchivo << std::endl;
} else {
std::cerr << "No se pudo abrir el archivo para guardar." << std::endl;
}
}
void cargarArchivo(const std::string& nombreArchivo) {
std::ifstream archivo(nombreArchivo);
if (archivo.is_open()) {
std::string linea;
std::cout << "Contenido del archivo " << nombreArchivo << ":" << std::endl;
while (std::getline(archivo, linea)) {
std::cout << linea << std::endl;
}
archivo.close();
} else {
std::cerr << "No se pudo abrir el archivo para cargar." << std::endl;
}
}
int main() {
int opcion;
std::string nombreArchivo;
do {
std::cout << "1. Crear archivo" << std::endl;
std::cout << "2. Guardar archivo" << std::endl;
std::cout << "3. Cargar archivo" << std::endl;
std::cout << "4. Salir" << std::endl;
std::cout << "Selecciona una opción: ";
std::cin >> opcion;
std::cin.ignore(); // Limpiar el buffer
switch (opcion) {
case 1:
std::cout << "Introduce el nombre del archivo a crear: ";
std::getline(std::cin, nombreArchivo);
crearArchivo(nombreArchivo);
break;
case 2:
std::cout << "Introduce el nombre del archivo a guardar: ";
std::getline(std::cin, nombreArchivo);
guardarArchivo(nombreArchivo);
break;
case 3:
std::cout << "Introduce el nombre del archivo a cargar: ";
std::getline(std::cin, nombreArchivo);
cargarArchivo(nombreArchivo);
break;
case 4:
std::cout << "Saliendo..." << std::endl;
break;
default:
std::cout << "Opción no válida. Intenta de nuevo." << std::endl;
}
} while (opcion != 4);
return 0;
}