[[spielplatz:student:42:start|back to start 42]] or [[cowork:schulung:42:start|Notizen Termine 42 (nur lesbar)]]
====== c Sourcecode ======
//cc -Wall -Wextra -Werror ft_putnbr_base.c
// tamakhlo@c4a2c8 ~/.ssh/c04/ex04
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putnbr_base.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tamakhlo
char convert(int num, int base);
void convert_num(int num, int base, char *res);
int main(void)
{
int i;
int b;
char tnum[42] = "";
i = 15;
b = 16;
// *tnum = "";
convert_num(6, 10, tnum); // index 0
convert_num(1, 2, tnum);
convert_num(12, 16, tnum);
convert_num(11, 16, tnum);
convert_num(10, 16, tnum);
convert_num(10, 16, tnum);
convert_num(10, 16, tnum);
convert_num(i, b, tnum); // index 7
write (1, "\n-", 2);
write (1, &tnum[7] ,1);
write (1, "-\n", 2);
return (0);
}
char digit(int num, int base)
{
int result;
result = "0123456789ABCDEF"[num%base];
//write (1, &result ,1);
return (result+'\0');
}
void convert_num(int num, int base, char *res)
{
//int counter;
int usedlen;
char c;
char *pc;
usedlen = 0;
while(res[usedlen] != '\0')
usedlen++;
write (1, &res[usedlen] ,1);
c = usedlen + '0'; // usedlen is 2 index ist 1
write (1, "\n", 1);
write (1, &c, 1); // '2'
write (1, "<-len\n=", 7);
// because of usedlen++ = 3 but next-index = 1 Value like last call convert_num()
pc = res;
while(*pc != '\0')
write (1, pc++, 1); // all digits in res display in terminal in al line so far
//while (base <= num)
{
res[usedlen] = digit(num,base);
//write (1,&res[counter] ,2);
//usedlen++;
}
res[usedlen +1] = '\0';
// return(res);
}
----
====== Überschrift ======
Hi Ines platziere den code hier im code block!!!