{"id":50338712,"url":"https://github.com/tigran-sargsyan-w/ft_printf","last_synced_at":"2026-05-29T15:30:23.095Z","repository":{"id":269459148,"uuid":"907479586","full_name":"tigran-sargsyan-w/ft_printf","owner":"tigran-sargsyan-w","description":"The goal of this project is pretty straightforward. You will recode printf(). You will mainly learn about using a variable number of arguments. How cool is that?? It is actually pretty cool :)","archived":false,"fork":false,"pushed_at":"2025-05-21T11:09:18.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-06T11:49:04.077Z","etag":null,"topics":["42","42school","c","formatting","function","implementation","mandatory","printf","programming","string-manipulation","unix"],"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/tigran-sargsyan-w.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-12-23T17:13:24.000Z","updated_at":"2025-05-21T11:09:05.000Z","dependencies_parsed_at":"2024-12-23T18:41:29.260Z","dependency_job_id":null,"html_url":"https://github.com/tigran-sargsyan-w/ft_printf","commit_stats":null,"previous_names":["tigran-sargsyan-w/ft_printf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tigran-sargsyan-w/ft_printf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigran-sargsyan-w%2Fft_printf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigran-sargsyan-w%2Fft_printf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigran-sargsyan-w%2Fft_printf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigran-sargsyan-w%2Fft_printf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tigran-sargsyan-w","download_url":"https://codeload.github.com/tigran-sargsyan-w/ft_printf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigran-sargsyan-w%2Fft_printf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33659872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"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":["42","42school","c","formatting","function","implementation","mandatory","printf","programming","string-manipulation","unix"],"created_at":"2026-05-29T15:30:21.113Z","updated_at":"2026-05-29T15:30:23.086Z","avatar_url":"https://github.com/tigran-sargsyan-w.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ft_printf\n\n✅ **Completed**: Mandatory  \n🏅 **Score**: 100/100\n\n![42 Logo](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTXfAZMOWHDQ3DKE63A9jWhIqQaKcKqUIXvzg\u0026s)\n\n`ft_printf` is a custom implementation of the standard `printf` function in C. This project was developed to practice the understanding of variable arguments, formatting specifiers, and the internal workings of the `printf` function.\n\n## Table of Contents\n\n- [Description](#description)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Supported Format Specifiers](#supported-format-specifiers)\n\n## Description\n\n`ft_printf` is designed to provide similar functionality to the standard `printf` function, supporting various format specifiers and flags. It accepts a format string and a variable number of arguments, then outputs the corresponding formatted result.\n\nThe goal of this project is to deepen the understanding of C's variadic functions and enhance the use of pointers and memory management.\n\n## Features\n\n- Supports common format specifiers like `d`, `i`, `s`, `c`, `u`, `x`, `X`, and `p`.\n- Custom implementation of `printf` using variadic arguments.\n- Can handle both upper and lower case hexadecimal outputs.\n- Provides precise and efficient memory usage.\n\n## Installation\n\nTo compile and use `ft_printf`, follow these steps:\n\n1. Clone this repository to your local machine:\n\n   ```bash\n   git clone https://github.com/yourusername/ft_printf.git\n   ```\n2. Navigate into the project directory:\n   ```bash\n   cd ft_printf\n   ```\n3.Compile the project using make:\n  ```bash\n  make\n  ```\n## Usage\n\nTo use ft_printf, include the ft_printf.h header in your C program and link with the libftprintf.a library.\n```c\n#include \"ft_printf.h\"\n\nint main() {\n    int num = 42;\n    char str[] = \"Hello, world!\";\n    \n    ft_printf(\"Number: %d\\n\", num);\n    ft_printf(\"String: %s\\n\", str);\n    return 0;\n}\n```\n\n## Supported Format Specifiers\n\n`ft_printf` supports the following format specifiers:\n\n- **`%c`** - Print a single character.\n- **`%s`** - Print a string of characters.\n- **`%d`, `%i`** - Print a signed decimal integer.\n- **`%u`** - Print an unsigned decimal integer.\n- **`%x`** - Print an unsigned hexadecimal integer (lowercase).\n- **`%X`** - Print an unsigned hexadecimal integer (uppercase).\n- **`%p`** - Print a pointer (address in hexadecimal).\n- **`%%`** - Print a literal percent sign.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigran-sargsyan-w%2Fft_printf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftigran-sargsyan-w%2Fft_printf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigran-sargsyan-w%2Fft_printf/lists"}