fbpx

Responder a: COMO SACAR DATOS DE UN TXT y PASARLOS A UN ARRAY EN C++

  • Angel Sánchez

    organizador
    10 mayo, 2023 en 4:00 pm

    Puedes hacerlo como te comento tu compañero Saul. Aquí te dejo un ejemplo:

    #include <iostream>

    #include <fstream>

    #define MAX_LINE_LENGTH 100 // Definir la longitud máxima de una línea

    // Función para leer el archivo y almacenar los datos en un arreglo de cadenas

    void leerArchivo(const std::string& nombreArchivo, std::string* datos, int& numLineas) {

    std::ifstream archivo(nombreArchivo); // Abrir el archivo para lectura

    if (archivo.is_open()) { // Verificar si el archivo se abrió correctamente

    std::string linea;

    numLineas = 0; // Inicializar el contador de líneas

    // Leer cada línea del archivo

    while (std::getline(archivo, linea)) {

    if (numLineas < MAX_LINE_LENGTH) { // Verificar si no se ha excedido el límite máximo de líneas

    datos[numLineas] = linea; // Almacenar la línea en el arreglo de cadenas

    numLineas++; // Incrementar el contador de líneas

    } else {

    std::cout << "Se ha alcanzado el límite máximo de líneas." << std::endl;

    break; // Salir del bucle si se ha alcanzado el límite máximo de líneas

    }

    }

    archivo.close(); // Cerrar el archivo después de la lectura

    } else {

    std::cout << "No se pudo abrir el archivo." << std::endl;

    }

    }

    int main() {

    std::string nombreArchivo = "datos.txt"; // Reemplaza "datos.txt" por el nombre de tu archivo

    std::string datos[MAX_LINE_LENGTH]; // Arreglo para almacenar los datos del archivo

    int numLineas = 0; // Variable para almacenar el número de líneas leídas

    leerArchivo(nombreArchivo, datos, numLineas); // Llamar a la función para leer el archivo

    // Manipula los datos según tus necesidades

    for (int i = 0; i < numLineas; i++) {

    std::cout << datos[i] << std::endl; // Imprimir cada línea almacenada en el arreglo

    }

    return 0;

    }

    ¡Saludos!