{"id":20205773,"url":"https://github.com/raveriss/ft_printf","last_synced_at":"2025-09-05T03:34:52.713Z","repository":{"id":228468333,"uuid":"774081152","full_name":"raveriss/ft_printf","owner":"raveriss","description":"A custom implementation of the printf function in C that handles common format conversions with varied argument handling. Carried out as part of my studies at school 42, this project embodies my quest for mastery in C programming and high quality standards.","archived":false,"fork":false,"pushed_at":"2024-03-18T23:33:27.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T12:45:36.728Z","etag":null,"topics":["42school","c-programming","coding-education","printf-implementation","software-quality","variadic-functions"],"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/raveriss.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}},"created_at":"2024-03-18T23:00:08.000Z","updated_at":"2025-01-27T07:04:58.000Z","dependencies_parsed_at":"2024-03-19T00:22:57.844Z","dependency_job_id":"a4b739d1-09ee-40dc-925e-e5b7c3a0613f","html_url":"https://github.com/raveriss/ft_printf","commit_stats":null,"previous_names":["raveriss/ft_printf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raveriss/ft_printf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2Fft_printf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2Fft_printf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2Fft_printf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2Fft_printf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raveriss","download_url":"https://codeload.github.com/raveriss/ft_printf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2Fft_printf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273707632,"owners_count":25153726,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-programming","coding-education","printf-implementation","software-quality","variadic-functions"],"created_at":"2024-11-14T05:19:06.749Z","updated_at":"2025-09-05T03:34:47.694Z","avatar_url":"https://github.com/raveriss.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projet ft_printf\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/ayogun/42-project-badges/raw/main/badges/ft_printfe.png\" alt=\"Badge du projet ft_printf\"\u003e\n\u003c/div\u003e\n\n## Description\nCe projet vise à recoder la fonction printf() de la libc. L'objectif est d'apprendre à utiliser une variété d'arguments et de maîtriser le traitement de différents formats de données. C'est une excellente occasion d'améliorer vos compétences en programmation C, en mettant en œuvre une fonction complexe et polyvalente.\n\n## Tableau des Composants du Projet\n\n| Fichier           | Description                                           | Responsabilité                                  | Statut    |\n|-------------------|-------------------------------------------------------|-----------------------------------------|-----------|\n| `ft_printf.c`     | Le cœur de l'implémentation de `ft_printf`            | Traitement des formats et affichage     | Complet   |\n| `parse_format.c`  | Parse les spécificateurs de format                    | Analyse de la chaîne de format          | Complet   |\n| `print_char.c`    | Fonctions pour imprimer des caractères et des chaînes | Gestion de `%c` et `%s`                 | Complet   |\n| `print_numbers.c` | Fonctions pour imprimer des nombres                   | Gestion de `%d`, `%i`, `%u`, `%x`, `%X` | Complet   |\n| `utils.c`         | Fonctions utilitaires pour l'implémentation           | Diverses aides pour l'impression        | Complet   |\n| `Makefile`        | Fichier pour compiler le projet et créer la librairie | Compilation                             | Complet   |\n\n## Installation et Compilation\n```\ngit clone git@github.com:raveriss/ft_printf.git\ncd ft_printf\nmake\n```\n\n## Utilisation\nIncluez ft_printf.h dans votre projet et liez avec libftprintf.a lors de la compilation. Utilisez ft_printf comme vous utiliseriez printf.\n\n## Options\nCe projet imite le comportement de printf et supporte les conversions cspdiuxX%.\n\n## Caractéristiques\nGestion variée d'arguments.\nSupporte les conversions principales.\nAbsence de fuites de mémoire et conformité avec les normes de l'école 42.\nFonctions externes autorisées\nmalloc\nfree\nwrite\nva_start, va_arg, va_copy, va_end\n\n## Ressources et Remerciements\n\n- Tutoriel sur `printf`: [YouTube - Glootie](https://www.youtube.com/watch?v=xgK-U1Jj92Q\u0026ab_channel=Glootie)\n- Guide sur les fonctions à nombre variable d'arguments: [Blog Perhonen](https://perhonen.fr/blog/2016/01/faire-fonction-nombre-arguments-variable-en-c-2701)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraveriss%2Fft_printf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraveriss%2Fft_printf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraveriss%2Fft_printf/lists"}