fbpx

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

Etiquetado: 

  • COMO SACAR DATOS DE UN TXT y PASARLOS A UN ARRAY EN C++

    Posted by Gabriel Hurtado Quispe on 9 mayo, 2023 en 5:51 pm

    Tengo una consulta… como hago para sacar datos de un txt (por ejemplo que sea solo texto dentro del bloc de notas) y guardarlos en un array, para poder manipularlos posteriormente. Es en lenguaje C++ 😥

    Angel Sánchez respondido 11 meses, 1 semana 3 Miembros · 2 Respuestas
  • 2 Respuestas
  • Saul Sanchez

    Miembro
    10 mayo, 2023 en 11:58 am

    Si vas a leer de un archivo de texto plano necesitas la librería fstream, y una variable tipo ifstream, cuando la inicializas, con el nombre del archivo a leer, después con un bucle (for/while) recorres el archivo posición a posición guardandolo en tu array (array[x] = variable ifstream.get(x);

    Y al final cierras el archivo leído

  • 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!

Inicia sesión para responder.

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora