es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo mostrar un archivo de texto en C++?

Quiero mostrar el archivo de texto en mi programa de c++ pero no aparece nada y el programa simplemente termina. Estoy utilizando struct aquí. Anteriormente, solía usar este tipo de método, pero ahora no estoy seguro de por qué no está funcionando. Espero que alguien pueda ayudarme. Muchas gracias.

struct Registros{
    int ID;
    string desc;
    string proveedor;
    double precio;
    int cantidad;
    int rop;
    string categoría;
    string uom;
}registro[50];
void inventario() {
    int ID, cantidad, rop;
    string desc, proveedor, categoría, uom;
    double precio;

    ifstream archivo("muestra de inventario.txt");

    if (archivo.fail()) {
        cout << "Error al abrir el archivo de registros." << endl;
        exit(1);
    }

    int i = 0;
    while (!archivo.eof()){
        archivo >> ID >> desc >> proveedor >> precio >> cantidad >> rop >> categoría >> uom;
        registro[i].ID = ID;
        registro[i].desc = desc;
        registro[i].proveedor = proveedor;
        registro[i].precio = precio;
        registro[i].cantidad = cantidad;
        registro[i].rop = rop;
        registro[i].categoría = categoría;
        registro[i].uom = uom;
        i++;
    }

    for (int a = 0; a < 15; a++) {
        cout << "\n\t";
        cout.width(10); cout << left << registro[a].ID;
        cout.width(10); cout << left << registro[a].desc;
        cout.width(10); cout << left << registro[a].proveedor;
        cout.width(10); cout << left << registro[a].precio;
        cout.width(10); cout << left << registro[a].cantidad;
        cout.width(10); cout << left << registro[a].rop;
        cout.width(10); cout << left << registro[a].categoría;
        cout.width(10); cout << left << registro[a].uom << endl;
    }

    archivo.close();
}

Aquí está el archivo txt:
enlace de imagen

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el programa haya finalizado abruptamente debido a un error en la lectura del archivo de texto. Uno de los posibles errores es que el programa no puede encontrar el archivo de texto debido a una ruta de archivo incorrecta o un nombre de archivo incorrecto. Otro posible error es que el formato de los datos en el archivo de texto no coincide con el formato esperado en el programa.

    Para investigar más a fondo el problema, puedes intentar agregar algunos mensajes de depuración en el programa para verificar los valores de las variables en diferentes puntos, como antes y después de la lectura del archivo de texto. También puedes intentar imprimir cualquier mensaje de error del objeto de archivo, como utilizando la función file.fail().

    También vale la pena señalar que no se recomienda utilizar la función eof() para verificar si se ha alcanzado el final del archivo, ya que puede llevar a un comportamiento inesperado. En su lugar, considera utilizar un bucle while con la operación de lectura como condición del bucle.

    En general, se necesita una investigación más detallada para determinar la causa exacta del problema e implementar una solución adecuada.

Comments are closed.