int printf ( const char * format, ... );
This is the first group project that we have at Holberton School, which consists of replicating the printf (3) function of language c, calling it this way _printf.
This function is part of the standard library and to use it we must specify the header file <stdio.h>.
Writes the C string pointed by format to the standard output (stdout). If format includes format specifiers (subsequences beginning with %), the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.
format -> C string that contains the text to be written to stdout.
Where the specifier character at the end is the most significant component, since it defines the type and the interpretation of its corresponding argument:
Specifier | Output | Example |
---|---|---|
c | Character | A |
s | String of characters | Holberton |
% | A % followed by another % character will write a single % to the stream | % |
i and d | Signed decimal integer | 98 |
b | Unsigned binary | 10101 |
u | Unsigned decimal integer | 98 |
o | Unsigned octal | 5523 |
x | Unsigned hexadecimal integer (lowercase) | 36264eb |
X | Unsigned hexadecimal integer (uppercase) | 36264EB |
r | Reversed string | gnirts |
R | Rot13 string | cevags |
On success, the total number of characters written is returned. If a writing error occurs, the error indicator (ferror) is set and a negative number is returned.
-[x] I'm not going anywhere. You can print that wherever you want to. I'm here and I'm a Spur for life. Write a function that produces output according to a format.
- Prototype:
int _printf(const char *format, ...);
- Returns: the number of characters printed (excluding the null byte used to end output to strings)
- write output to stdout, the standard output stream
- format is a character string. The format string is composed of zero or more directives. See man 3 printf for more detail. You need to handle the following conversion specifiers:
--
c
--s
--%
-[x] Education is when you read the fine print. Experience is what you get if you don't
Handle the following conversion specifiers:
-- d
--i
int _putchar(char c); /*writes the character c to stdout */
int _printf(const char *format, ...);/* function that produces output according to a format.*/
int print_char(va_list c);/*writes the character c to stdout */
int print_string(va_list s);/*writes the character c to stdout */
int print_int(va_list i);/*function that prints an integer */
int print_dec(va_list d);/* function that prints an decimal*/
All of the .c
files along with a main.c file are to be compiled with gcc 4.8.4
on Ubuntu 14.04 LTS with the flags -Wall Werror
-Westra
and -pedantic.
The files will be compiled this way:
gcc -Wall -Werror -Wextra -pedantic *.c
In the main.c
file, use the _printf
function like so:
#include "holberton.h"
/**
* main - main function of program
* Return: always 0
*/
int main(void)
{
int num;
char *string;
num = 98;
string = "Hello, Holberon!"
_printf("%s is %i.\n", string, num);
return (0);
}
linux>$ gcc -Wall -Werror -Wextra -pedantic *.c -o print_program
linux>$ ./print_program
Hello, Holberton is 98.
linux>$
- Benjamin Faruna
- Teammate has been offline and I couldn't reach him