usigned itoa
This commit is contained in:
3
main.h
3
main.h
@@ -10,5 +10,8 @@ int _puts(char *str);
|
|||||||
int _putchar(char c);
|
int _putchar(char c);
|
||||||
char *_memset(char *adr, int bval);
|
char *_memset(char *adr, int bval);
|
||||||
int fmt(char c, va_list args);
|
int fmt(char c, va_list args);
|
||||||
|
char *_str_reverse(char *str);
|
||||||
|
char *_itoa(int n, int base);
|
||||||
|
char *_uitoa(unsigned int n, int base);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
8
printf.c
8
printf.c
@@ -43,7 +43,7 @@ int _printf(const char *format, ...)
|
|||||||
}
|
}
|
||||||
if (buffer)
|
if (buffer)
|
||||||
{
|
{
|
||||||
_puts(buffer);
|
printed += _puts(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
return (printed);
|
return (printed);
|
||||||
@@ -64,6 +64,12 @@ int fmt(char c, va_list args)
|
|||||||
return (_putchar(va_arg(args, int)));
|
return (_putchar(va_arg(args, int)));
|
||||||
case '%': /*add 1 byte*/
|
case '%': /*add 1 byte*/
|
||||||
return (_putchar('%'));
|
return (_putchar('%'));
|
||||||
|
case 'd':
|
||||||
|
return (_puts(_itoa(va_arg(args, int), 10)));
|
||||||
|
case 'i':
|
||||||
|
return (_puts(_itoa(va_arg(args, int), 10)));
|
||||||
|
case 'b':
|
||||||
|
return (_puts(_itoa(va_arg(args, int), 2)));
|
||||||
default:
|
default:
|
||||||
_putchar('%'); /* TODO make this cleaner */
|
_putchar('%'); /* TODO make this cleaner */
|
||||||
_putchar(c);
|
_putchar(c);
|
||||||
|
|||||||
12
tests/num_test.c
Normal file
12
tests/num_test.c
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#include "../main.h"
|
||||||
|
#define shit 0
|
||||||
|
#define fr ;
|
||||||
|
/**
|
||||||
|
* main - no cap fr %d
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
_printf("the number is: %d\n", 10)fr
|
||||||
|
return (shit)fr
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user