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
Conceptos básicos
  • 2
    Set up de codeblocks y compilador

    Set up de codeblocks y compilador

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

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

    12:10
  • 4
    Entrada y salida de datos

    Entrada y salida de datos

    21:55
  • 5
    Operadores aritméticos

    Operadores aritméticos

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

    Operadores de asignación, de incremento y decremento

    17:48
  • 7

    Recapitulación: Conceptos Básicos

    02:02
Control de flujo
  • 8
    Condicional if e if - else

    Condicional if e if - else

    18:35
  • 9
    Operadores relacionales y lógicos

    Operadores relacionales y lógicos

    13:25
  • 10
    Switch

    Switch

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

    ¿Qué es un iterador? - Ciclo While

    05:54
  • 12
    Ciclo For

    Ciclo For

    08:43
  • 13
    Ciclo Do-While

    Ciclo Do-While

    05:53
  • 14
    Arreglos unidimensionales

    Arreglos unidimensionales

    13:35
  • 15
    Arreglos bidimensionales

    Arreglos bidimensionales

    12:36
  • 16
    Arreglos e iteradores unidimensionales

    Arreglos e iteradores unidimensionales

    08:52
  • 17
    Arreglos e iteradores bidimensionales

    Arreglos e iteradores bidimensionales

    08:47
  • 18
    Cadena de caracteres (string)

    Cadena de caracteres (string)

    06:51
  • 19

    Recapitulación: Control de Flujo

    04:49
Funciones
  • 20
    Funciones: Divide y vencerás

    Funciones: Divide y vencerás

    13:53
  • 21
    Variables locales y globales

    Variables locales y globales

    10:14
  • 22

    Recapitulación: Funciones

    01:39
Conceptos avanzados
  • 23
    Recursividad

    Recursividad

    10:10
  • 24
    Apuntadores

    Apuntadores

    06:53
  • 25
    Struct y manejo de archivos

    Struct y manejo de archivos

    13:00
  • 26
    Escritura y lectura de archivos

    Escritura y lectura de archivos

    11:02
  • 27
    Manejo de librerías

    Manejo de librerías

    14:56
    Usuario anónimo

    Usuario anónimo

    user•
    hace 6 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 4 años

      Se ve super

    Sebastian Castañeda Garcia

    Sebastian Castañeda Garcia

    student•
    hace 5 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 4 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 3 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 3 años

    Para leer se puede utilizar la función fread.

    valentina stephany kassar acuña

    valentina stephany kassar acuña

    student•
    hace 3 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 5 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.

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