{"id":25834633,"url":"https://github.com/nihilantropy/ft_printf","last_synced_at":"2025-11-23T18:05:13.887Z","repository":{"id":254718699,"uuid":"847320071","full_name":"Nihilantropy/ft_printf","owner":"Nihilantropy","description":"ft_printf 42 school project","archived":false,"fork":false,"pushed_at":"2024-08-26T08:52:03.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-26T16:55:59.511Z","etag":null,"topics":["42school","c","coding","ftprintf","ftprintf42","library"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nihilantropy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T13:45:19.000Z","updated_at":"2024-08-26T08:54:41.000Z","dependencies_parsed_at":"2024-08-25T16:56:18.959Z","dependency_job_id":null,"html_url":"https://github.com/Nihilantropy/ft_printf","commit_stats":null,"previous_names":["nihilantropy/ft_printf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nihilantropy%2Fft_printf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nihilantropy%2Fft_printf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nihilantropy%2Fft_printf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nihilantropy%2Fft_printf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nihilantropy","download_url":"https://codeload.github.com/Nihilantropy/ft_printf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241300492,"owners_count":19940489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42school","c","coding","ftprintf","ftprintf42","library"],"created_at":"2025-03-01T00:58:49.752Z","updated_at":"2025-11-23T18:05:13.824Z","avatar_url":"https://github.com/Nihilantropy.png","language":"C","readme":"### Installation\n\nYou can git clone the repository using https protocol\n\n```\ngit clone https://github.com/Nihilantropy/ft_printf.git\n```\n\naccess the directory and run the make command\n\n```bash\ncd ft_printf \u0026\u0026 make\n```\n\nNow you have your ft_printf library :book:! To use it you only have to add the `ft_printf.h` (inside the `include` folder) into your program header!\nOnce you've done that, you can compile your fresh new program with the `-L/path/to/libftprintf.a` (change accordingly) and the `-lftprintf` flag :it:!\nNow that you know how to use it... let's make it!\n\n# ft_printf 🛠️\n\nWelcome to the world of `ft_printf`! 🎉 This project is all about recoding the legendary `printf` function from the C library. If you’ve ever wondered how `printf` works under the hood or wanted to take your C skills to the next level, this is your chance!\n\n\n## 📜 Project Overview\n\nThe aim of this project is to create your very own version of `printf()`, a function that’s as versatile as it is essential in C programming. You'll dive into the world of variadic functions and discover how to format and print output in various ways.\n\n## 🎯 Mandatory Part\n\n### What You Need to Do\n\n- **Function Prototype:** `int ft_printf(const char *format, ...);`\n- **Handle These Conversions:**\n  - `%c` - Print a character.\n  - `%s` - Print a string.\n  - `%p` - Print a pointer in hexadecimal format.\n  - `%d` - Print a decimal number.\n  - `%i` - Print an integer.\n  - `%u` - Print an unsigned decimal number.\n  - `%x` - Print a number in lowercase hexadecimal.\n  - `%X` - Print a number in uppercase hexadecimal.\n  - `%%` - Print a percent sign.\n- **External Functions Allowed:** `malloc`, `free`, `write`, `va_start`, `va_arg`, `va_copy`, `va_end`\n- **Library Creation:** Use `ar` to make your library (`libftprintf.a`) and keep it in the root of your repo.\n\n### What to Keep in Mind\n\n- Skip the buffer management of the original `printf()`. Focus on making your function work flawlessly with the given format specifiers.\n- Make sure your implementation is robust and handles errors gracefully.\n\n## 🎁 Bonus Part (not present in this project)\n\nFeeling adventurous? Try out these bonus features to make your `ft_printf` even cooler (not present in this project):\n\n- **Flag Management:** Implement flags like `-`, `0`, `.`, and handle minimum field widths.\n- **Additional Flags:** Add support for `#` and `+`.\n\n**Note:** The bonus features will only be reviewed if your mandatory part is spot on—no pressure! 😉\n\n## 🛠️ Common Instructions\n\n- **Language:** C\n- **Norm Compliance:** Follow the 42 Norm to the letter. This applies to both mandatory and bonus parts.\n- **Error Handling:** No segfaults or memory leaks allowed! Ensure your code runs smoothly.\n- **Makefile Must-Haves:**\n  - Include rules for `$(NAME)`, `all`, `clean`, `fclean`, and `re`.\n  - Avoid unnecessary relinking in the `bonus` rule.\n- **Libft Integration:** If you’re using `libft`, make sure to include it in a `libft` directory and compile it first.\n\n## 🚀 Submission\n\nOnce you’re done, submit your work to your Git repository. Double-check that all files are correctly named and included. Your project will be graded based on what’s in the repo, so make sure everything is in tip-top shape!\n\nCongratulations! With `ft_printf` added to your toolkit, you’re one step closer to mastering C programming. 🎉💻\n\n## Leave a strar :star:!\n\nIf you'd like to see an in-depth analisy of this code, leave a star to let us know! :love_letter:\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnihilantropy%2Fft_printf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnihilantropy%2Fft_printf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnihilantropy%2Fft_printf/lists"}