{"id":19500317,"url":"https://github.com/aabduvak/ft_printf","last_synced_at":"2026-01-02T04:04:45.995Z","repository":{"id":156889847,"uuid":"450639148","full_name":"aabduvak/ft_printf","owner":"aabduvak","description":"ft_printf (42cursus) 2022-2023. Remake printf. A project usefull for the next projects. The aim is to learn how variable size arguments works.","archived":false,"fork":false,"pushed_at":"2022-01-25T18:49:50.000Z","size":40,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T02:41:37.293Z","etag":null,"topics":["42","42born2code","42cursus","42istanbul","42projects","42school","printf"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aabduvak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-01-21T21:03:38.000Z","updated_at":"2023-12-11T14:31:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec2c0316-e78a-4a1f-9fcb-de7b4a0bb3e0","html_url":"https://github.com/aabduvak/ft_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/aabduvak%2Fft_printf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aabduvak%2Fft_printf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aabduvak%2Fft_printf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aabduvak%2Fft_printf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aabduvak","download_url":"https://codeload.github.com/aabduvak/ft_printf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243544657,"owners_count":20308169,"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","42born2code","42cursus","42istanbul","42projects","42school","printf"],"created_at":"2024-11-10T22:08:09.721Z","updated_at":"2026-01-02T04:04:45.934Z","avatar_url":"https://github.com/aabduvak.png","language":"C","readme":"\u003ch1 align=\"center\"\u003e\n\t🧰 ft_printf\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cb\u003e\u003ci\u003eBecause putnbr and putstr aren’t enough\u003c/i\u003e\u003c/b\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/abdulazizabduvakhobov/ft_printf?color=lightblue\" /\u003e\n\t\u003cimg alt=\"Number of lines of code\" src=\"https://img.shields.io/tokei/lines/github/abdulazizabduvakhobov/ft_printf?color=critical\" /\u003e\n\t\u003cimg alt=\"Code language count\" src=\"https://img.shields.io/github/languages/count/abdulazizabduvakhobov/ft_printf?color=yellow\" /\u003e\n\t\u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/abdulazizabduvakhobov/ft_printf?color=blue\" /\u003e\n\t\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/abdulazizabduvakhobov/ft_printf?color=green\" /\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\n\t\u003ca href=\"#%EF%B8%8F-about\"\u003eAbout\u003c/a\u003e\n\t\u003cspan\u003e · \u003c/span\u003e\n\t\u003ca href=\"#%EF%B8%8F-usage\"\u003eUsage\u003c/a\u003e\n\t\u003cspan\u003e · \u003c/span\u003e\n  \u003ca href=\"#usefull-make-command\"\u003eUsefull Command\u003c/a\u003e\n\t\u003cspan\u003e · \u003c/span\u003e\n\t\u003ca href=\"#-testing\"\u003eTesting\u003c/a\u003e\n\u003c/h3\u003e\n\n---\n\n## 💡 About the project\n\n\u003e _This project is pretty straight forward. You will recode printf. Hopefully you will be able to reuse it in future project without the fear of being flagged as a cheater. You will mainly learn how to use variadic arguments._\n\n### What is ft_printf?\nft_printf is an individual project at [42](https://www.42istanbul.com.tr/) that requires us to create a function similar to the printf from \u003cstdio.h\u003e. The function ft_printf() (the name comes from “print formatted”) prints a string on the screen using a “format string” that includes the instructions to mix several strings and produce the final string to be printed on the screen.\n\n### Application flow\nClick [here](https://excalidraw.com/#json=X5IF2CEVuO8EhAyX9bwMZ,42SQg0D6nJcF7hwcDG1dVw) for the interactive link.\n\n#### Objectives\n- Unix logic\n\n#### Skills\n- Rigor\n- Unix\n- Algorithms \u0026 AI\n\n#### My grade\n\u003cimg src=\"./images/grade.png\" width=\"150\" height=\"150\"/\u003e\n\n## List of functions:\n\n* [`ft_convert`](/sources/ft_convert.c)\t\t\t- converts num to related numerical base.\n* [`ft_putnbr`](/sources/ft_putnbr.c)\t\t\t  - prints the number on the screen.\n* [`ft_putstr`](/sources/ft_putstr.c)\t\t\t  - prints given string on the screen.\n* [`ft_putchar`](/sources/ft_putstr.c)\t\t\t- prints given character on the screen.\n* [`ft_putunbr`](/sources/ft_putunbr.c)\t\t\t- prints given number on the screen (only positive).\n* [`ft_putptr`](/sources/ft_putptr.c)\t\t\t- prints given data by hexidecimal numerical base on the screen\n* [`ft_strlen`](/sources/ft_strlen.c)\t\t\t  - computes length of given string.\n* [`ft_printf`](/sources/ft_printf.c)\t\t\t  - prints a string on the screen using a “format string” that includes the instructions to mix several strings and produce the final string to be printed on the screen.\n\n\n## 🛠️ Usage\n\n**Follow the steps below**\n\n### Instructions\n\n**1. Clone the repository from github**\n\n```bash\ngit clone https://github.com/abdulazizabduvakhobov/ft_printf \u0026\u0026 cd ft_printf/\n```\n**2. Compile the library by Makefile**\nTo compile the library, go to its path and run:\n\nFor all mandatory functions:\n\n```bash\n make\n```\n\n**3. Create main.c to test the funtion:**\n```bash\ntouch main.c\n```\n\n**4. Using it in your code**\n\nTo use the function in your code, simply include its header:\n\n```C\n#include \"ft_printf.h\"\n```\n\n**Example of a main**\n```C\n#include \"ft_printf.h\"\n\nint main(void)\n{\n  ft_printf(\"%s\", \"Hello World\");\n  ft_printf(\"%c\", '\\n');\n  ft_printf(\"%d\", 123456789);\n  ft_printf(\"%c\", '\\n');\n  ft_printf(\"%X\", 987654321);\n return (0);\n}\n\n/**\n* output: \n* Hello World\n* 123456789\n* 3ADE68B1\n**/\n```\n\n**5.After coding, you have to compile your code with libftprintf.a library like an example below**\n\n```bash\ngcc main.c libftprintf.a -I./sources \u0026\u0026 ./a.out\n# Done :)\n```\n\n### Requirements\n\nThe library is written in C language and needs the **`gcc` compiler** and some standard **C libraries** to run.\n\n## Usefull make command\n\n**1. Cleaning all binary (.o) files**\n\nTo clean all files generated binary files while doing a make, go to the path and run:\n\n```bash\n make clean\n```\n\n**2. Cleaning all binary (.o) and executable files (.a)**\n\nTo clean all files generated while doing a make, go to the path and run:\n\n```bash\n make fclean\n```\n\n**2. Checking Norminette standart**\n\nTo check Norminette errors of all files, simply go to the path and run:\n\n```bash\n make norm\n```\n\n**3. Help command**\n\nTo get information about command, run:\n\n```bash\n make help\n```\n\n## 📋 Testing\n\nYou can use any of this third party testers to test the project\n\n* [Tripouille/printfTester](https://github.com/Tripouille/printfTester)\n* [paulo-santana/ft_printf_tester](https://github.com/paulo-santana/ft_printf_tester)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faabduvak%2Fft_printf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faabduvak%2Fft_printf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faabduvak%2Fft_printf/lists"}