Wypisanie i inkrementacja wskaźnika typu long

0

Witam. Dawano nie programowałem i mam pewien problem:

W swoim programie używam takiej funkcji:

 

HRESULT get_Channel(
  [out]  long *plChannel,
  [out]  long *plVideoSubChannel,
  [out]  long *plAudioSubChannel
);

przyjmuje ona wskaźniki do long i coś do nich wpisuje. I teraz moim problemem jest to jak wypisać wartość, który dostał pierwszy argument.

Cały kod wygląda tak:

	long* channel;
	long* unused1;
	long* unused2;
	pTvTuner->get_Channel(channel,unused1,unused2);

	printf("Kanal na ktorym siedzi karta to: %l",channel);
 

Próbowałem już różnych metod, ale żadna nie chce zadziałać. Aha i kolejna sprawa to jak tą zmienną później zinkrementować?

2
 
long* channel;
long* unused1;
long* unused2;

Powyzsze zmienne powinny byc zainicjalizowane, poniewaz w takiej postaci nie wskazuja raczej na poprawny adres w pamieci.

Aby wyswietlic zawartosc zmiennej wskaznikowej typu long, napisz:

printf("Kanal na ktorym siedzi karta to: %ld", *channel);

Inkrementacja:

 
(*channel)++

Proponowalbym takze rozwazyc realizacje celu bez deklaracji zmiennych wskaznikowych, czyli:

 
long channel = 0;
long unused1 = 0;
long unused2 = 0;
pTvTuner->get_Channel(&channel, &unused1, &unused2);

Wtedy wyswietlenie zmiennej channel bedzie wygladac tak:

printf("Kanal na ktorym siedzi karta to: %ld", channel);

A inkrementacja bedzie wygladac tak:

 
channel++;
0

Dzięki za pomoc, działa :)

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