understanding ft_printf

Поделиться
HTML-код
  • Опубликовано: 2 июн 2024
  • A short video to explain how printf works, and how to use the allowed functions (va_list, va_start(), va_arg() and va_end()) to implement ft_printf, with a visual deck to help visualise how they work together.
    00:00 Introduction
    01:00 printf()
    02:13 va_list
    03:02 va_start()
    04:05 va_arg()
    05:45 va_end()
    06:32 Visualisation 🌈
    10:35 Outro
    💻 www.github.com/n1kito
    disclaimer : if there are technical mistakes in my video, it's fine by me, but please do let me know in the comments. The goal of this video if to help my fellow students understand some of the notions of this project, it's not to give a perfect explanation.
  • НаукаНаука

Комментарии • 44

  • @FlavioGoncalves-te3sj
    @FlavioGoncalves-te3sj 11 дней назад

    It was an understandable explanation concerning to the functions va_start, va_arg and va_end that printf function use to do its work.
    I could learn with u. THANKS

  • @chiakinanami4622
    @chiakinanami4622 7 месяцев назад +1

    Thank you so much for this video! The visualisation was cute and creative. I liked the animation of the fire destroying the va_list structure

  • @peijingteh9602
    @peijingteh9602 5 месяцев назад

    Hi Nikito,
    Just wanted to thank you for the video: your visual explanation has been super helpful for me in understanding how the allowed functions work in ft_printf!

    • @n1kito
      @n1kito  5 месяцев назад +1

      Thanks for taking the time to comment, that’s great to hear ! Good luck with the project :)

  • @yousifgurma4172
    @yousifgurma4172 Год назад +1

    thank you so much for the clear and simple explanation , keep going and hope to explain more projects in this way!

    • @n1kito
      @n1kito  Год назад

      My pleasure, thanks for the message and good luck with the project !

  • @arediba274
    @arediba274 6 месяцев назад

    Thank U so much for the information. I am dealing with the proyect right now and it is so useful to have a general explanation about it before fighting with the code. I hope you keep working in this kind of videos for following proyects !!

    • @n1kito
      @n1kito  5 месяцев назад

      Thank you for the kind comment, I don’t have a lot of time at the moment but I’ll try to make more videos at some point 🤞🏻

  • @burhanchughtai6775
    @burhanchughtai6775 3 месяца назад

    Awesome video, super helpful! so glad you did it in english as I am studying in 42 Berlin. Easy to understand and follow along, without spoiling any of the code. Love it!

    • @n1kito
      @n1kito  3 месяца назад

      Thanks for the kind comment, glad you liked it !

  • @DiogoMarta-ys3ti
    @DiogoMarta-ys3ti 11 месяцев назад

    Hey! Thanks for the video! One question, when I initialize my va_list, like va_start(str), do I need to add the last fixed argument? For example va_start(str, n) ? or va_start(str) is enough? Thanks for the help!

    • @n1kito
      @n1kito  11 месяцев назад +2

      Hey, glad it helps !
      Yes, as explained at 3:03, va_start() takes your va_list variable and the last know argument of the variadic function. I realize I did not say it in the visualization part of the video, but since it was explained in the va_start() section I figured I could keep things a bit more abstract ! :)
      If you ever doubt don’t hesitate to take a look at the man, I remember the STDARG man being pretty easy to follow !
      Good luck with ft_printf() ✌🏻

  • @N00bZ3c0
    @N00bZ3c0 7 месяцев назад +1

    Hi! Thank you for this explanation, which helps a lot!
    Just a small mistake: when you use va_arg to fetch a char, you actually need to use va_arg(va_list, int). You need to promote that char to an int

    • @n1kito
      @n1kito  7 месяцев назад +2

      Thanks for letting me know, that’s right ! I guess I was so focused on making the logic of it clear that I overlooked a few details 😅 Hopefully it’s not too much of an issue for the students who watch this video.

  • @CortoMREX
    @CortoMREX 5 месяцев назад

    Super merci c'est parfaitement clair !

  • @jezura777
    @jezura777 5 месяцев назад

    In what is the presentation made? Really good visualization and explanation. Thanks.

    • @n1kito
      @n1kito  5 месяцев назад

      The first part of the video is done in the terminal, and the moments with the pseudo code with pieces moving was done in Keynote✌🏼
      Glad you liked it !

  • @remi9410
    @remi9410 3 месяца назад

    Super vidéo mais petite question, pourquoi tu ne parles pas de va_copy qui est énoncée dans le sujet de 42 ? merci à toi

    • @n1kito
      @n1kito  Месяц назад

      Hello ! De mémoire je ne l’avais pas utilisée et je voulais garder la vidéo la plus simple et la plus claire possible, le but n’étant pas d’expliquer les sujets en détail mais de présenter le plus simplement possible comment commencer le projet :)

  • @kiseijuu7420
    @kiseijuu7420 6 месяцев назад

    Salut le sang c'est comment les vidéos en ce moment ? Tu comptes sortir la vidéo sur le testeur ou t'as du passer a autre chose? Merci pour la vidéo en tout cas

    • @n1kito
      @n1kito  5 месяцев назад

      Content que ça serve ! J’ai peu de temps en ce moment mais si une vidéo sur un/les testeur(s) intéresse du monde je peux m’y intéresser. Bon courage pour tes projets !

    • @kiseijuu7420
      @kiseijuu7420 5 месяцев назад

      @@n1kito salut merci 😙

  • @Neiltxu
    @Neiltxu Год назад

    Nice video!!!

    • @n1kito
      @n1kito  Год назад

      Thanks, hopped it helped 🙌🏻

  • @gohivan5119
    @gohivan5119 8 месяцев назад

    Thanks from 42 Singapore

  • @OscarCedano
    @OscarCedano 5 месяцев назад

    Good video!!!

    • @n1kito
      @n1kito  5 месяцев назад

      Thank you, glad it helped !

  • @onaecO
    @onaecO Год назад +2

    The bonus part of this project is a pain in the ass 🤣.. Nikito how can i reach you? I d like to make u a proposal

    • @n1kito
      @n1kito  Год назад

      Right ? The ft_printf bonuses have the largest gap in mandatory-bonus difficulty, and since it’s at the beginning of the curriculum it’s a real challenge.
      Sure, you can find my 42 email in the header of some of my GitHub projects, like Philosophers (I looked for yours but couldn’t find it in your repo).

    • @onaecO
      @onaecO Год назад

      @@n1kito sent u an email ;)

  • @xvanichx
    @xvanichx Год назад

    Thx for this video!!) 42 Wolfsburg)

    • @n1kito
      @n1kito  Год назад

      Happy you liked it! Good luck with the project :)

  • @marouanebouzyt
    @marouanebouzyt Год назад

    thanks for making it in french

    • @n1kito
      @n1kito  Год назад +1

      in English ?

    • @marouanebouzyt
      @marouanebouzyt Год назад +1

      @@n1kito yes yes i just pushed gnl at the time of commenting and i had like 2 brain cells functioning left sorry

    • @n1kito
      @n1kito  Год назад +1

      @@marouanebouzyt no worries haha I was just wondering if you were thanking me or asking me for a French version of the video. Congrats on GNL, hope the evaluations go/went well !

  • @user-hj1jd4eh1r
    @user-hj1jd4eh1r Год назад +1

    en anlgais ......

    • @n1kito
      @n1kito  Год назад

      ?

    • @user-hj1jd4eh1r
      @user-hj1jd4eh1r Год назад

      @@n1kito comprends pas l'anglais 😭😂

    • @n1kito
      @n1kito  Год назад

      Argh désolé, quand je fais en français c’est la majorité des étudiants du network qui comprennent rien 😬 Il n’y a pas de sous-titres générés en français ? Sinon je regarderai pour les traduire à la main quand j’aurai le temps.

    • @user-hj1jd4eh1r
      @user-hj1jd4eh1r Год назад

      @@n1kito si il y'a les sous titres t'embête pas !

    • @n1kito
      @n1kito  Год назад

      👍🏻 Bon courage pour ft_printf !

  • @tinanguyen883
    @tinanguyen883 7 месяцев назад

    Thank you so much it was the best explanation 🫶🏼