{"id":18983164,"url":"https://github.com/marcusvinix/printf","last_synced_at":"2025-11-11T16:02:42.976Z","repository":{"id":110128596,"uuid":"377830066","full_name":"MarcusVinix/printf","owner":"MarcusVinix","description":"Because putnbr and putstr aren’t enough.","archived":false,"fork":false,"pushed_at":"2021-07-19T18:11:28.000Z","size":311,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T12:12:11.280Z","etag":null,"topics":["42","42school","ftprintf42"],"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/MarcusVinix.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":"2021-06-17T12:54:08.000Z","updated_at":"2024-05-20T13:21:01.000Z","dependencies_parsed_at":"2023-03-13T13:58:32.968Z","dependency_job_id":null,"html_url":"https://github.com/MarcusVinix/printf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcusVinix%2Fprintf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcusVinix%2Fprintf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcusVinix%2Fprintf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcusVinix%2Fprintf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarcusVinix","download_url":"https://codeload.github.com/MarcusVinix/printf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239987530,"owners_count":19729824,"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":["42","42school","ftprintf42"],"created_at":"2024-11-08T16:16:10.028Z","updated_at":"2025-11-11T16:02:37.933Z","avatar_url":"https://github.com/MarcusVinix.png","language":"C","readme":"# FT_PRINTF\n![](https://img.shields.io/badge/Language-C-blue)\n![](https://img.shields.io/badge/School-42-black)\n\n\u003e This is a reimplementation of the function printf included in libc. \n\u003e This implementation cover the following set of flags and conversions, \n\u003e besides the availability of the width and precision modifiers.\n\n### Flags\n\n| Flag    | Description                                                                   |\n|-------  |-------------------------------------------------------------------------------|\n| **-**   | Left-justify within the given field width; Right justification is the default.|\n| **0**   | Left-pads the number with zeroes(0) instead of space.                         |\n| **+**   | Add a plus sign '+' int the front of positive numeric conversions             |\n|  ` `    | If no sign is going to be written, a blank space is inserted before the value.|\n| **#**   | Used with x or X specifiers. Add (0x) in front of values different than zero. |\n| **num** | Number between % and the specifier is the minimum field width                 |\n| **.**   | precision                                                                     |\n\n### Conversions\n\n| Specifiers | Description                                            |\n|------------|--------------------------------------------------------|\n|    **c**   | Print a single character.                              |\n|    **s**   | Print a string of characters                           |\n|    **p**   | The void * pointer argument is printed in hexadecimal. |\n|    **d**   | Print a decimal (base 10) number.                      |\n|    **i**   | Print an integer in base 10.                           |\n|    **u**   | Print an unsigned decimal (base 10) number.            |\n|    **x**   | Print a number in hexadecimal (base 16)                |\n|    **%**   | Print a percent sign '%'                               |\n\n\u003e For the specifier d and i, the precision is the minimum number of digits to be print.  \n\u003e For the specifier s, the precision is the maximum field width.  \n\u003e Stay tuned when:\n\u003e * Flag '0' is ignored when flag '-' is present.  \n\u003e * Flag '0' is ignored when flag '.' is present (%d e %i)  \n\u003e * Flag '0' result in undefined behavior with specifier c, s and p  \n\u003e * FLag '.' result in undefined behavior with specifier c and p  \n\u003e   \n\u003e Syntax to use printf:  \n`%[flag][min-width].[precision][length modifier][conversion specifier]`\n ***\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusvinix%2Fprintf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcusvinix%2Fprintf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusvinix%2Fprintf/lists"}