static void ft_replace_vid(t_it *it, int rewrite) { int length; int temp; if (rewrite) { tputs(tgetstr("mr", NULL), 0, my_putchar); ft_putchar(it->line[(it->i - return_offset() - 2)]); tputs(tgetstr("le", NULL), 0, my_putchar); } else { temp = it->i; tputs(tgetstr("me", NULL), 0, my_putchar); length = ft_abs(it->i - it->saved_i) + 1; ft_move_saved(it); if (temp > it->saved_i) { ft_memdel((void**)&it->tmp_buffer); it->tmp_buffer = ft_strsub(it->line, ((it->i - return_offset() - 2)), length); } else { ft_memdel((void**)&it->tmp_buffer); it->tmp_buffer = ft_strsub(it->line, ((temp - return_offset() - 2)), length); } ft_putstr(it->tmp_buffer); it->i += ft_strlen(it->tmp_buffer); } }
int main() { int i=1; int num; int temp = 0; int ret; char string[200]; int total = 0; while(i<1000) { num = i; temp = 0; memset(string, 0, sizeof(string)); if(num >= 100) { temp = num/100; ret = return_offset(temp); if(ret != -1) sprintf(string, digits[ret].word); strcat(string, "hundred"); } if(num > 100 && num%100 != 0) { strcat(string, "and"); } num = num - (temp * 100); if(num>=20 && num<=99) { temp = num/10; ret = return_offset(temp*10); if(ret != -1) strcat(string, digits[ret].word); temp = num%10; ret = return_offset(temp); if(ret != -1) strcat(string, digits[ret].word); } if(num>=1 && num<=19) { ret = return_offset(num); if(ret != -1) strcat(string, digits[ret].word); } total += strlen(string); printf("\n %d - %s - %d - %d", i, string, strlen(string), total); i++; } total += 11; printf("\n 1000 - one thousand - 8 - %d", total); printf("\n Total string length = %d", total); }