Manejo de archivos de texto en C++ (abrir, leer y escribir)

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 60

  • @josueguerrero6859
    @josueguerrero6859 Рік тому +3

    ¡Qué excelente video!
    Me ayudó mucho en un proyecto de programación.
    ¡Te agradezco mucho!

  • @guaicaipurouzumaki7654
    @guaicaipurouzumaki7654 3 роки тому +5

    excelente explicación!! muy sencillo ejemplo pero bastante ilustrativo

    • @Codigazo
      @Codigazo  3 роки тому

      Bienvenido Guaicaipuro, muchas gracias por sacar el tiempito para comentar, me es muy interesante conocer su evaluación de este video.

  • @ademiusny2676
    @ademiusny2676 3 роки тому +1

    Amigo esto es buenísimo en la pagina con ejemplo en código no lo entendí muy bien pero aquí si gracias.

  • @israelsalinas2211
    @israelsalinas2211 3 роки тому +1

    Genialazo, gracias por su valiosa ayuda con estos video.

  • @jonahtangonzalez1655
    @jonahtangonzalez1655 8 місяців тому

    Muchas gracias me sirvio mucho tu tutorial

  • @KevinSantos-li8hu
    @KevinSantos-li8hu Рік тому +1

    Se pueden abrir dos archivos y mostrar su información en pantalla?

  • @saulesau6004
    @saulesau6004 Рік тому

    Eres el mejor gracias

  • @dmpd8618
    @dmpd8618 3 роки тому +1

    Buenardo el video explicas como todo un god muchas gracias 💯👍👍

  • @cruzr2d2
    @cruzr2d2 2 роки тому

    Gracias por el video, lo explicas muy bien

  • @ericksebastianmora9240
    @ericksebastianmora9240 2 роки тому +1

    Te Amo ❤️

    • @Codigazo
      @Codigazo  2 роки тому +1

      El sentimiento es mutuo

  • @jessicaescobar1967
    @jessicaescobar1967 2 роки тому

    Y muy buena explicación 👍👍

  • @ReidlosTsalEht
    @ReidlosTsalEht 3 роки тому +4

    Muy buen video. como podría hacer para leer la linea, buscar hasta donde se encuentre cierto caracter, por ejemplo un -, y despues que ponga un enter?
    Por ejemplo:
    1.22E-021.15E+00
    2.44E-021.04E+00
    Son las dos primeras lineas
    Que salga asi
    1.22E-02
    1.15E+00
    2.44E-02
    1.04E+00
    Espero puedas ayudarme

  • @kattz8686
    @kattz8686 9 місяців тому

    eres un crack

  • @thebroki6684
    @thebroki6684 2 роки тому

    MUCHAS GRACIAS MASTER!!!

    • @Codigazo
      @Codigazo  2 роки тому

      Bienvenido thebroki66 !

  • @BrayanHernandez-ll9um
    @BrayanHernandez-ll9um 8 місяців тому

    Que buen vídeo

  • @estudiante4178
    @estudiante4178 3 роки тому

    Gracias bro me ayudaste con mi examen

    • @Codigazo
      @Codigazo  3 роки тому +1

      Hola Estudiante, me alegra haberle sido de ayuda, espero continuar siéndole de utilidad, ¡suerte en el estudio y en los próximos exámenes!.

  • @hectorgavilan156
    @hectorgavilan156 2 роки тому

    Hola, tambien podria explicar como manipular los datos de una tabla, en columnas de manera vertical como en excel, si es que hubiera esa opción con "fstream".

  • @MichiHerbar
    @MichiHerbar 2 роки тому

    buen vidéo!!

  • @EspDante
    @EspDante 3 роки тому +2

    Hola tengo una pregunta estoy aprendiendo y realizando el proyecto final, le agrego una funcion void con tu codigo que pusiste y en el txt le meto un vector, y me lo guarda o al menos el txt pone los datos que le digo, el problema es que finaliza el programa justo despues, cuando en realidad deberia de continuar... puesto que esta dentro de un menu con un switch, como hago para que no termine?

    • @Codigazo
      @Codigazo  3 роки тому

      EspDante disculpe por haber tardado tanto en responderle, imagino que lo ha solucionado mas teniendo en cuenta que es su proyecto final, pero si todavía sigue en ello entonces necesitaré que copie y pegue aquí su código entero, para revisar que sentencia puede estar provocando el cierre del programa.

    • @maryahdz2586
      @maryahdz2586 2 роки тому

      @@Codigazo jiji

  • @juansalvador7793
    @juansalvador7793 3 роки тому

    input es entrada del archivo a la rutina

  • @josuecarlosrosasruiz9274
    @josuecarlosrosasruiz9274 2 роки тому +2

    ⚠⚠⚠⚠⚠⚠⚠⚠como puedo guardar un numero entero en el documento txt, y luego a la hora de leerlo me guarde el numero escrito del documento txt en una variable antera? POR FAVOR AYUDA!!!!! ‼‼‼‼‼‼‼‼‼‼

    • @leodez70
      @leodez70 5 місяців тому

      int n; scanf("%d",&n);

  • @ZeroDarknezz
    @ZeroDarknezz 3 роки тому +1

    Hola, y como seria buscar una linea especifica?? Por ejemplo, si quisiera que nada mas me mostrara la tercera linea completa segun lo pueda yo indicar en el teclado. Algo asi como en pregunta ¿Que linea quieres buscar?, y luego que el usuario ingrese la primera, segunda o tercera. O que me imprima las lineas que tengan la palabra "linea".

    • @Codigazo
      @Codigazo  3 роки тому +4

      Bienvenido ZeroDarknezz, lo que haremos modificando el código anterior, primero le preguntamos al usuario que linea desea buscar lo hacemos con cout y guardamos el numero de linea en una variable que yo he llamado "numero"
      cout numero;
      Obviamente la variable numero se tenia que declarar previamente. Teniendo esta información en mano encerraremos la función getline en un bucle de tipo while, crearemos una variable llamada contador de tipo entero, y el bucle while se ejecutará mientras contador sea menor o igual a numero, posterior al bucle while imprimiremos con un cout lo que haya quedado dentro de la variable linea, esa es la linea que el usuario ha solicitado, el código entero queda como sigue a continuación:
      #include
      #include
      #include
      using namespace std;
      string linea;
      int numero;
      int contador=1;
      int main(){
      ifstream archivo("documento.txt");
      cout numero;
      while (contador

  • @ImNexusGamer11
    @ImNexusGamer11 3 роки тому +1

    Una duda, quiero leer un txt línea por líneas y almacenar esas líneas dentro de un Array para luego compararlas con los datos que introduzca el usuario, eso es posible?, Deseo hacerlo con strings , osea un Array de strings que almacene strings en su interior

    • @Codigazo
      @Codigazo  3 роки тому +2

      Hola Fernando, primero me gustaría agradecerle por la ayuda brindada a Guillermo.
      Claro que se puede lo que usted ha solicitado, para esto crearemos el arreglo de tipo string "string ejemplo[2]", abajo añadiré un codigo de ejemplo que incluye comentarios donde le pedimos al usuario 2 datos y en el archivo de texto también hay 2 para luego compararlos. Usaremos ifstream en lugar de la función open, ifstream se usa en conjunto con un bucle while y una variable (yo la llamaré línea) donde obtendremos gracias a la función getline línea por línea tal y como usted me lo ha pedido, luego para finalizar compararemos por medio de un if los datos que previamente pediríamos al usuario.
      ¿Por que usaremos ifstream en lugar de open?, lo hacemos para utilizar la función getline que se usa con ifstream y así obtener línea a línea.
      Como recomendación final, puede copiar y pegar en su IDE el código y analizarlo allá, es mas sencillo entenderlo dentro de los IDE porque estos resaltan con distintos colores la sintaxis.
      #include
      #include
      #include
      using namespace std;
      string nombre; // Guardaremos el nombre del usuario
      string contra; // Guardaremos su contraseña
      string usuarioinfo[2]; // Este es nuestro arreglo en el guardaré 2 datos del txt
      int main()
      {
      cout nombre; // Obtenemos su nombre
      cout contra; // Obtenemos su contraseña
      ifstream archivo("archivo.txt");
      string linea; // Aqui guardaremos linea a linea temporalmente
      int contador=0; // Contador para avanzar automaticamente la casilla donde se guardaran los datos del archivo primero la 0 y luego la 1
      while (getline(archivo, linea)){ // Mientras existan lineas en el archivo se tomara 1 a la vez en cada vuelta de bucle
      usuarioinfo[contador]=linea;// Guardamos esa linea en una casilla segun valga contador
      contador++; // Aumentamos el valor de contador
      }
      archivo.close();// Cerramos la conexion al archivo por buena practica
      if (nombre==usuarioinfo[0]&&contra==usuarioinfo[1]){ // Aqui comparamos si los datos son los mismos o no
      cout

    • @ImNexusGamer11
      @ImNexusGamer11 3 роки тому

      @@Codigazo muchísimas gracias, me había olvidado por completo que podía crear un array de tipo string, gracias por tu ayuda, con esto evitare el exceso de variables, te lo agradezco

    • @ImNexusGamer11
      @ImNexusGamer11 3 роки тому

      @@Codigazo tengo otra duda, si quiero almacenar varios datos en una misma líneas, como haría para luego leerlo y compararlos, es posible eso?

    • @Codigazo
      @Codigazo  3 роки тому +1

      Hola Fernando, si es posible, la mayor parte se hace utilizando la función find(), la función erase() y la función substr(), acabo de subir un video con el uso de la función find, aunque está algo lejos de lo que usted necesita pero igual ayuda a comprender la mitad.
      Necesitará separar los datos con una coma, un punto, o una combinación de varios caracteres (como usted prefiera), la función find le ayudará a buscar el carácter separador dentro de la línea, una vez lo encuentra utilizará substr para tomar desde el primer carácter hasta la posición previa al carácter separador, luego tendrá que ir borrando con la función erase desde el primer carácter hasta el carácter separador, de está forma habrá obtenido 1 dato, el bucle ha de continuar hasta que se acabe la línea, luego sigue con la otra línea si gusta o lo deja hasta ahí.
      Para el próximo video estaré mostrando paso a paso el tema de la separación de datos en una línea, y estaremos creando un sistema de login, utilizando todo lo anterior, mas como comprendo que a usted puede estarle urgiendo entonces procedo a añadir un enlace que aborda todo este tema, podrá copiar y pegar los códigos a su IDE con mucha facilidad. Todos los códigos tienen comentarios para su fácil comprensión.
      www.codigazo.com/en-c/login-con-usuario-contrasena
      Nota: Si gusta pase directamente al Paso 3, donde está justamente la parte que usted requiere.

  • @frakcraft8799
    @frakcraft8799 3 роки тому

    una duda como hago eso pero con el printf y el scanf en lugar del cout y el cin

  • @MichiHerbar
    @MichiHerbar 2 роки тому

    hola,
    es que tengo un txt con una lista de nombres y me gustaría obtener los nombres que no están repetidos ? podría darme una pista ?

  • @CrimsonMaskedSaiyan616
    @CrimsonMaskedSaiyan616 2 роки тому

    sirve para archivos dat?

    • @Codigazo
      @Codigazo  2 роки тому

      Hola Black, si claro, sirve para cualquier extensión.

  • @eynergaredespinozaaruquipa9295
    @eynergaredespinozaaruquipa9295 2 роки тому

    Disculpe, mi código funciona correctamente pero tengo una duda.
    Cuando en el archivo de texto pongo signos de admiración como :
    " ¡ " O "¿" , Me sale otro carácter en el compilador.
    Alguna solución para eso? Quizá me falta alguna librería?

    • @josuecarlosrosasruiz9274
      @josuecarlosrosasruiz9274 2 роки тому

      no amigo, al ser el lenguaje en idioma ingles por defecto no se puede hacer nada, pero si usas el printf con el codigo ascii (buscalo en google) podrás imprimirlos saludos :D

  • @israelgua8424
    @israelgua8424 2 роки тому +1

    al compilar y ejecutar no me da la lectura en la consola solo dice el tiempo en segundos que se tardo la consola en mostrar el resultado en la pantalla. cual sera la solucion?

    • @capdres
      @capdres 2 роки тому

      el archivo txt revisa que sea archivo.txt y no archivo.txt.txt

    • @santiagozillantefajardo9592
      @santiagozillantefajardo9592 Рік тому

      @@capdres tres dias intentando solucionar el error y era esta tonteria. Me has salvado la carrera bro....

  • @maximilianograciahernandez8469
    @maximilianograciahernandez8469 2 місяці тому

    Por que me da error la donde dice getline?, pero no en sus parámetros

  • @josetutos9723
    @josetutos9723 3 роки тому

    una preguntota, como puedo hacer una operacion en un trabajo de este tipo, esque me dejaron escribir el nombre de 3 personas asi mismo calcular su edad dependiendo el año de su nacimiento

    • @josetutos9723
      @josetutos9723 3 роки тому

      llevo eso pero de ahi ya no se como agregar la operacion para calcular la deda, se que es año actual - año de nacimiento, pero la implemento de muchas formas y me da error, alguien que me ayude

  • @grisneidycruz8800
    @grisneidycruz8800 2 роки тому

    se puede conectar un archivo de c++ con uno de word como si el de word fuera txt?

    • @Codigazo
      @Codigazo  2 роки тому

      Hola Grisneidy, si claro que se puede abrir, el problema es que Word es un programa que introduce formato al documento mientras que un txt es texto plano, el formato se realiza por medio de códigos que rodean una palabra e indican el color, el tamaño, la tipografía y otros datos, estos códigos tendrian que re interpretarse porque de lo contrario se verían en el programa. En resumen si se puede unicamente tiene que abrir el archivo .docx.

  • @ronyezequiel3010
    @ronyezequiel3010 2 роки тому

    como podria crear como una tabla que me indique el codigo del producto, producto cantidad total etc..

    • @Codigazo
      @Codigazo  2 роки тому

      Hola Rony, lo usted necesita puede lograrlo haciendo uso un caracter separador para cada dato tal y como observa en el siguiente video ua-cam.com/video/P0zv3pgBQZA/v-deo.html

  • @primokeko
    @primokeko Рік тому

    Programación es con tilde. No usar tildes en C++ es muy fácil

  • @jessicaescobar1967
    @jessicaescobar1967 2 роки тому

    Holaaa, disculpa me puedes ayudar con una tarea.
    Es hacer un fichero con datos de una computadora, y verificar cuál de los todos tiene mayor precio y el menor. 😁😊

  • @luisurbinasandoval6358
    @luisurbinasandoval6358 3 роки тому +2

    Hola, me ayudaste muchisimo muchas gracias solo una pregunta, sabes como hacer para que por ejemplo cada linea salga enumerada? Osea algo asi:
    1 codigazo
    2 segunda linea
    3 tercera linea
    4 y hasta una cuarta linea
    5 ...

    • @Codigazo
      @Codigazo  3 роки тому +3

      Hola Luis, me disculpo por tardar tanto en responderle, este mes me he organizado muy mal, supongo que ha terminado logrando lo deseado pero aun así procedo a responder.
      Lo primero que tiene que hacer es crear un contador que empiece desde el 1, luego ha de imprimir al principio de cada línea el valor de este contador y aumentar asmáticamente el valor de la variable contador.
      Paso 1: Declaramos la variable junto a las variables string
      int contador=1;
      Paso 2: Buscamos la siguiente línea
      texto=texto+linea+"
      ";
      Y la reemplazamos por
      texto=texto+contador+" "+linea+"
      ";
      contador++;
      Eso es todo, como puede observar también he colocado +" "+ antes de línea para dejar un espacio en blanco después del numero.

  • @guillermovelez1572
    @guillermovelez1572 3 роки тому

    Ayudaa el ofstream no me escribe el archivo, pero el ifstream si lo lee :(

    • @ImNexusGamer11
      @ImNexusGamer11 3 роки тому

      Pero lo hiciste igual al del vídeo?

    • @ImNexusGamer11
      @ImNexusGamer11 3 роки тому

      ofstream archivo;
      string texto="hola";
      archivo.open("nombre.txt",ios::out);
      archivo

    • @Codigazo
      @Codigazo  3 роки тому

      Bienvenido Guillermo, ¿el compilador le devuelve algún error?, si continua con el problema seria bueno que comparta su código para poder analizarlo, y también que indique que IDE está utilizando.

    • @ulisesest
      @ulisesest 2 роки тому

      a mí también me pasa lo mismo, ya lo pudiste resolver?