Print_Str_d not writing to screen correctly, what's going on