Użycie tablicy znaków jako stringa, podając go jako argument funkcji

0

Witam, mam taki dylemat czy da się to jakoś rozwiązać w C:

W tablicy Char znaki[100] są przechowywane jako literki zawierające nazwę tła. I teraz to trzeba do jednej zmiennej np string adres_tła żeby ją można było wstawić w taką funkcje:

Tlo = load_bmp( adres_tła, default_palette );

Jest jakaś opcja na to. Wiadomo w C++ jest string a tutaj jak to rozwiązać ?

1
char adres_tła[100];
sprintf(adres_tła,"NazwaMojegoPliku-%c.BMP",znaki[i]);
Tlo[i]=load_bmp(adres_tła[i],default_palette);
0

Nie rozumiem tego. Po co przy tym tło jest to i ?

Tlo[i]=load_bmp(adres_tła[i],default_palette);

przecież to nie tablica

dodanie znacznika <code class="c"> - fp

0

No bo spójrz ja to wczytuje tak:

BITMAP * Tlo = NULL;
  Tlo = load_bmp( "Jakies_tlo.bmp", default_palette );
if( !Tlo )
{
  set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
  allegro_message( "Nie moge zaladowac Tla !" );
  allegro_exit();
  return 0;
} 
0

Przecież te funkcje w allegro przyjmują char* więc podaj wskaźnik na zerowy element tablicy (początek)

0

Jeżeli tak wczytujesz to po kiego ci te znaki[100] i po kiego ten post?
Teraz powinieneś wczytać wszystkie potrzebne tła na początku.

int i;
char UzywaneZnaki[]="abcxu";
BITMAP *Tlo[sizeof(UzywaneZnaki)/sizeof(*UzywaneZnaki)]={};
char adres_tła[100];
for(i=0;i<sizeof(UzywaneZnaki)/sizeof(*UzywaneZnaki);++i)
  {
   sprintf(adres_tła,"NazwaMojegoPliku-%c.BMP",znaki[i]);
   if(!(Tlo[i]=load_bmp(adres_tła[i],default_palette)))
     {
  set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
  allegro_message( "Nie moge zaladowac Tla !" );
  allegro_exit();
  exit 1;
     }
  }
0

Problem rozwiazany. Dzieki za wskazowki @_13th_Dragon

1 użytkowników online, w tym zalogowanych: 0, gości: 1