CursosEmpresasBlogLiveConfPrecios

Escritura y lectura de archivos

Clase 26 de 27 • Curso de Programación Estructurada

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Qué aprenderás sobre la programación estructurada

    Qué aprenderás sobre la programación estructurada

    00:44 min

Conceptos básicos

  • 2
    Set up de codeblocks y compilador

    Set up de codeblocks y compilador

    02:59 min
  • 3
    Variables y tipos de datos (Asignación y clasificación)

    Variables y tipos de datos (Asignación y clasificación)

    12:10 min
  • 4
    Entrada y salida de datos

    Entrada y salida de datos

    21:55 min
  • 5
    Operadores aritméticos

    Operadores aritméticos

    09:57 min
  • 6
    Operadores de asignación, de incremento y decremento

    Operadores de asignación, de incremento y decremento

    17:48 min
  • 7

    Recapitulación: Conceptos Básicos

    02:02 min

Control de flujo

  • 8
    Condicional if e if - else

    Condicional if e if - else

    18:35 min
  • 9
    Operadores relacionales y lógicos

    Operadores relacionales y lógicos

    13:25 min
  • 10
    Switch

    Switch

    08:27 min
  • 11
    ¿Qué es un iterador? - Ciclo While

    ¿Qué es un iterador? - Ciclo While

    05:54 min
  • 12
    Ciclo For

    Ciclo For

    08:43 min
  • 13
    Ciclo Do-While

    Ciclo Do-While

    05:53 min
  • 14
    Arreglos unidimensionales

    Arreglos unidimensionales

    13:35 min
  • 15
    Arreglos bidimensionales

    Arreglos bidimensionales

    12:36 min
  • 16
    Arreglos e iteradores unidimensionales

    Arreglos e iteradores unidimensionales

    08:52 min
  • 17
    Arreglos e iteradores bidimensionales

    Arreglos e iteradores bidimensionales

    08:47 min
  • 18
    Cadena de caracteres (string)

    Cadena de caracteres (string)

    06:51 min
  • 19

    Recapitulación: Control de Flujo

    04:49 min

Funciones

  • 20
    Funciones: Divide y vencerás

    Funciones: Divide y vencerás

    13:53 min
  • 21
    Variables locales y globales

    Variables locales y globales

    10:14 min
  • 22

    Recapitulación: Funciones

    01:39 min

Conceptos avanzados

  • 23
    Recursividad

    Recursividad

    10:10 min
  • 24
    Apuntadores

    Apuntadores

    06:53 min
  • 25
    Struct y manejo de archivos

    Struct y manejo de archivos

    13:00 min
  • 26
    Escritura y lectura de archivos

    Escritura y lectura de archivos

    Viendo ahora
  • 27
    Manejo de librerías

    Manejo de librerías

    14:56 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Usuario anónimo

        Usuario anónimo

        user•
        hace 7 años

        Este codigo lo hice para crear un archivo .bat que escribe numeros al azar de color verde, dando un efecto de matrix :D

        #include <stdio.h> #include <stdlib.h> int main() { FILE *archivo; archivo = fopen("files.bat", "w"); char code[500] = "@echo off\npause\ncolor 0a\nmode 1000\n:a\necho %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%\ngoto a"; if(archivo != NULL){ fflush(stdin); fwrite(&code, sizeof(code),1,archivo); fclose(archivo); } return 0; }```
          Mario Enrique Ascencio Garcia

          Mario Enrique Ascencio Garcia

          student•
          hace 5 años

          Muy bueno.

          Juan Fernando Ramirez Montes

          Juan Fernando Ramirez Montes

          student•
          hace 5 años

          Se ve super

        Sebastian Castañeda Garcia

        Sebastian Castañeda Garcia

        student•
        hace 6 años

        Como complemento de la clase me gustaría recomendarles estos tres tutoriales que explican los modos básicos en que podemos crear, escribir, leer y append información a un texto. Usando funciones como fprintf, fgets, foef, etc. Siento que es un poco más sencillo de esta forma Writing files Reading files Appending files

          Diana Yazmin

          Diana Yazmin

          student•
          hace 5 años

          Me encantó ese canal. Muchas gracias <3

          Maria Isabel Torres Torres

          Maria Isabel Torres Torres

          student•
          hace 5 años

          Gracias

        Efraín Hernández García

        Efraín Hernández García

        student•
        hace 6 años

        En el curso de Terminal y Linea de comandos explican más a fondo esto!

          Eduardo Jose Escalante Matallana

          Eduardo Jose Escalante Matallana

          student•
          hace 5 años

          ¿Nos podrías decir en que parte, por favor?

          Bryan Calvetty

          Bryan Calvetty

          student•
          hace 5 años

          gracias ^^

        H NA

        H NA

        student•
        hace 7 años

        Como queda el código de ambos escenarios (escribir y leer):

        #include<stdio.h> struct personalData { char name[20]; char lastName[20]; int age; }; int main(){ printf("Archivos - Guardar en un archivo!\n"); //Creamos una estructura llamada 'person' de tipo 'personalData' struct personalData person; //Creamos un archivo FILE *archivo; //Abrimos el archivo creado y le ponemos un nombre seguido le indicamos si lo vamos a escribir o a leer. //archivo = fopen("DatosPersonales001.dat","wb"); //Para escribir archivo = fopen("DatosPersonales001.dat","rb"); //Para leer if(archivo != NULL){ //PARA ESCRIBIR EL ARCHIVO /* fflush(stdin); //Limpiamos el buffer para evitar basura printf("Leer los datos:\n"); printf("Ingresar nombre:\n"); gets(person.name); printf("Ingresar apellido\n"); gets(person.lastName); printf("Ingresar edad\n"); scanf("%i", &person.age); printf("Imprimir datos: \n"); printf("%s\n", person.name); printf("%s\n", person.lastName); printf("%i\n", person.age); fwrite(&person, sizeof(person), 1, archivo); */ //PARA LEER EL ARCHIVO fread(&person, sizeof(person), 1, archivo); printf("Imprimir los datos \n"); printf("Nombre: %s\n", person.name); printf("Nombre: %s\n", person.lastName); printf("Nombre: %i\n", person.age); fclose(archivo); } else { printf("No se ha podido crear el archivo"); } }
        Merlyn Rodriguez

        Merlyn Rodriguez

        student•
        hace 6 años

        dos puntos por terminar de ver el video :v

        Jose Carlos Borrayo

        Jose Carlos Borrayo

        student•
        hace 5 años

        Este código incluye los dos ejemplos de guardar y leer datos de un archivo en un mismo script.

        #include <stdio.h> #include <stdlib.h> struct personalData{ char name[20]; char lastName[20]; int age; }; void crearArchivo(){ struct personalData person; FILE *archivo; archivo = fopen("DatosPersonales001.dat","wb"); if(archivo != NULL){ fflush(stdin); printf("Guardar datos: \n"); printf("Ingresar nombre: \n"); gets(person.name); printf("Ingresar apellido: \n"); gets(person.lastName); printf("Ingresar edad: \n"); scanf("%d",&person.age); fwrite(&person,sizeof(person),1,archivo); fclose(archivo); }else{ printf("No se ha podido crear el archivo.\n"); } } void leerArchivo(){ struct personalData person; FILE *archivo; archivo = fopen("DatosPersonales001.dat","rb"); if(archivo != NULL){ fread(&person,sizeof(person),1,archivo); printf("Imprimir los datos: \n"); printf("Nombre: %s \n",person.name); printf("Apellido: %s \n",person.lastName); printf("Edad: %i\n\n",person.age); fclose(archivo); }else{ printf("No se ha podido crear el archivo.\n"); } } int main() { while(1){ crearArchivo(); leerArchivo(); } return 0; }
          Alexander Rojas

          Alexander Rojas

          student•
          hace 4 años

          Gracias por compartir ^^

        Mateo Aquino

        Mateo Aquino

        student•
        hace 6 años

        ¿De esta manera tan simple trabaja un virus sobrescribiendo archivos y borrando informacion?

          Jose Antonio Padron Fernandez

          Jose Antonio Padron Fernandez

          student•
          hace 6 años

          Existen muchos más tipos de virus informáticos ;)

          aca te dejo lo mas comunes: https://smarterworkspaces.kyocera.es/blog/8-tipos-virus-informaticos-debes-conocer/

        Soe Lucas

        Soe Lucas

        student•
        hace 4 años

        Hay alguna razón para que la 'f' tenga un protagonismo que hace parte de muchos comandos de C como prefijos o sufijo. O acaso se trata simplemente de 'file'?

          Victor Sanchez

          Victor Sanchez

          student•
          hace 4 años

          se trata simplemente de acortar las palabras "fuction" o "file"

        Carlos Lopez

        Carlos Lopez

        student•
        hace 4 años

        Code Blocks - Practica de escritura

        Carlos Lopez

        Carlos Lopez

        student•
        hace 4 años

        Code Blocks practica - leer archivo

        valentina stephany kassar acuña

        valentina stephany kassar acuña

        student•
        hace 4 años

        Para leer se puede utilizar la función fread.

        valentina stephany kassar acuña

        valentina stephany kassar acuña

        student•
        hace 4 años

        Para escribir necesitamos utilizar la función fwrite y en ella vamos a usar cuatro parámetros.

        • El primero, es el apuntador con la dirección de la información que estamos guardando.

        • El segundo, el tamaño de cada elemento que será escrito.

        • El tercero, el número de elementos.

        • El cuarto, el apuntador con la dirección al archivo donde estamos guardando/escribiendo.

        Para leer también se cuenta con cuatro parámetros:

        • El primero, el apuntador con la dirección de la información que estamos leyendo.

        • El segundo, el tamaño de cada elemento que será leído.

        • El tercero, número de elementos.

        • El cuarto, el apuntador con la dirección al archivo donde estamos leyendo.

        Job Forero

        Job Forero

        student•
        hace 6 años
        Screenshot_1_misDatos_.png
        Manuel Alejandro Aguilar Téllez Girón

        Manuel Alejandro Aguilar Téllez Girón

        student•
        hace 7 años

        Escribiendo el archivo:

        1 #include <stdio.h> 2 3 struct PersonalData { 4 char first_name[20]; 5 char last_name[20]; 6 int age; 7 }; 8 9 int main(){ 10 struct PersonalData me; 11 12 FILE *archive; 13 archive = fopen("Datos_personales.dat", "wb"); 14 15 if(archive != NULL){ 16 fflush(stdin); 17 printf("Ingresa tu nombre\n"); 18 gets(me.first_name); 19 printf("Ingresa tu apellido\n"); 20 gets(me.last_name); 21 printf("Ingresa tu edad:\n"); 22 scanf("%i", &me.age); 23 24 printf("Hola %s %s\n", me.first_name, me.last_name); 25 printf("Tienes %i primaveras cumplidas\n", me.age); 26 27 fwrite(&me, sizeof(me), 1, archive); 28 //fwrite(puntero_de_que, el_tamano_de_lo_que_escribes, cuantos_escribes, el_archivo_que_escribes); 29 fclose(archive); 30 }else{ 31 printf("El archivo no se creo\n"); 32 } 33 }

        Leyendo el archivo:

        1 #include <stdio.h> 2 3 struct PersonalData{ 4 char first_name[20]; 5 char last_name[20]; 6 int age; 7 }; 8 9 int main(){ 10 struct PersonalData me; 11 12 FILE *archive; 13 archive = fopen("Datos_personales.dat", "rb"); 14 15 if(archive != NULL){ 16 fread(&me, sizeof(me), 1, archive); 17 printf("Hola %s %s\n", me.first_name, me.last_name); 18 printf("Tienes %i primaveras cumplidas\n", me.age); 19 fclose(archive); 20 }else{ 21 printf("El archivo no se abre :(\n"); 22 } 23 }
        Cristian Camilo Cortes Ortiz

        Cristian Camilo Cortes Ortiz

        student•
        hace 4 años

        Hola comunidad! alguien sabe ¿como puedo ejecutar un archivo .c desde la terminal con shell zsh? gracias

          Javi Felices

          Javi Felices

          student•
          hace 4 años

          En este tutorial viene cómo hacerlo para Windows, lo he probado en Windows 10 x64, uso Git Bash con oh-my-posh y sin problema.   Un saludo.

          Cristian Camilo Cortes Ortiz

          Cristian Camilo Cortes Ortiz

          student•
          hace 4 años

          Gracias! bro

        Mateo León Camacho

        Mateo León Camacho

        student•
        hace 4 años

        Hola a todos. Tengo un problema recurrente con mi código. Ya puedo crear el archivo, guardar información en él y leerlo. Pero en struct hay una variable int (numPags), que cuando uso fread(), titulo y variable las imprime bien, pero numPags siempre me imprime 32759 o 32758. No importa qué valores tenga mi struct original, cuando creo un nuevo struct y le digo que lea los valores del anterior, numPags nunca es igual. Mi código:

        #include <stdio.h> #include <stdlib.h> struct Libro { char titulo[30]; char autor[30]; int numPags; }; int main() { struct Libro libro; FILE *archivo; archivo = fopen("data1.txt", "w"); if (archivo != NULL) { fflush(stdin); printf("Ingrese el titulo:\n"); gets(libro.titulo); printf("Ingrese el autor:\n"); gets(libro.autor); printf("Ingrese # de pags:\n"); scanf("%d", &libro.numPags); fwrite(&libro, sizeof(libro), 1, archivo); fclose(archivo); } else { printf("No se pudo abrir el archivo!"); } struct Libro libro1; archivo = fopen("data1.txt", "r"); if (archivo != NULL) { printf("Datos del segundo libro:\n"); fread(&libro1, sizeof(libro1), 1, archivo); printf("%s\n", libro1.titulo); printf("%s\n", libro1.autor); printf("%i\n", libro1.numPags); fclose(archivo); } else { printf("No se pudo abrir el archivo creado!"); } return 0; }

        Gracias

          Javi Felices

          Javi Felices

          student•
          hace 4 años

          Buenas peña.   Por fin he podido replicar tu ejercicio, y no veo nada raro, al contrario, el resultado es correcto. Te comparto el repl del mismo, para que lo revises.   Incluso creo otro fichero, y leo después el anterior, y me pone los datos que había.   Un saludo.

          Mateo León Camacho

          Mateo León Camacho

          student•
          hace 4 años

          Al final, el error estaba siendo causado porque en la línea de

          archivo = fopen("data1.bat", "rb");

          Tenía que poner rb

          Gracias :)

        Carlos Gabriel de Jesus Gonzalez Tabares

        Carlos Gabriel de Jesus Gonzalez Tabares

        student•
        hace 5 años

        No entiendo la condicion, archivo != NULL. Esto se debe a que si un archivo antes de crearlo es NULL pero al evaluarlo con la condición igual entra, porque? Alguien sabe?

          Massimo Di Berardino

          Massimo Di Berardino

          student•
          hace 5 años

          Hola @elunico567, por lo que entendí de tu consulta y lo que vi en la clase, te comento el if(archivo != NULL) es para asegurarse que antes de escribir el archivo, este existe y se pudo abrir de manera correcta, es una especia de manejo de errores

          Luis Franco

          Luis Franco

          student•
          hace 5 años

          Puede que este mensaje ya no les sirva porque ya saben que es lo que significa, pero respondere por si alguien mas lo lee... Cuando nosotros declaramos un objeto pero no lo inicializamos, este por lo general esta vacio, eso es lo que significa NULL, entonces la instruccion if(archivo != NULL) lo que esta verificando es que el puntero "archivo" contenga algo dentro de el, y no solo sea un contenedor vacio. Si "archivo" no tuviera nada dentro de el, la condicion seria falsa y pasaria al "else".

        Osvaldo Garcia

        Osvaldo Garcia

        student•
        hace 6 años

        que pasa si quiero escribir texto sin ayuda de un struct? se puede?

          Helí Fernando Jerez Rincón

          Helí Fernando Jerez Rincón

          student•
          hace 5 años

          Claro, el struct es solo un concepto para organizar la variables y también la memoria

        Santiago Cardoso

        Santiago Cardoso

        student•
        hace 6 años

        No me sale para ingresar los datos, que estoy haciendo mal?

        #include <stdio.h> #include <stdlib.h>

        struct personalData { char name[20]; char lastName[20]; int age; }

        int main() { printf("Archivos - Guardar en un archivo!\n");

        struct personalData person; FILE *archivo; archivo = fopen(&quot;DatosPersonales001.dat&quot;, &quot;wb&quot;); if(archivo = NULL) { fflush(stdin); printf(&quot;Leer datos: \n&quot;); printf(&quot;Ingresar nombre: \n&quot;); gets(person.name); printf(&quot;Ingresar apellido: \n&quot;); gets(person.lastName); printf(&quot;Ingresar edad: \n&quot;); scanf(&quot;%i&quot;, &amp;person.age); printf(&quot;Imprimir datos: \n&quot;); printf(&quot;%s \n&quot;, person.name); printf(&quot;%s \n&quot;, person.lastName); printf(&quot;%i \n&quot;, person.age); fwrite(&amp;person, sizeof(person), 1, archivo); fclose(archivo); }else { printf(&quot;No se ha podido crear el archivo&quot;); } return 0;

        }

          Jaime Ortiz

          Jaime Ortiz

          student•
          hace 6 años

          Compañero, lo que pasa es que falta el ";" al final del struct. struct personalData { char name[20]; char lastName[20]; int age; };

        Yefri Enmanuel Encarnación Jiménez

        Yefri Enmanuel Encarnación Jiménez

        student•
        hace 5 años

        Tengo una duda, podría leer información de un documento que no haya creado usando c o incluso no haya creado yo, por ejemplo tengo un archivo txt o sql y quiero tomar unos nombres de ellos podría leer los archivos y tomar los nombres?

          Mauricio Galvez

          Mauricio Galvez

          student•
          hace 5 años

          Siii, es completamente posible. Inténtalo, es importante experimentar.