Jak longa dodać to tablicy char?

Jak longa dodać to tablicy char?

Wątek przeniesiony 2018-10-29 20:36 z C/C++ przez kq.

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

Witam
Jak longa dodać to tablicy char?

Kopiuj
klasa klasa::operator<<(const long a)
{
	char* tab;

	snprintf(tab, sizeof tab, "%ld", a);
	
	return *this;
}

mam takie coś. Brakuje ty inicjacji tablicy. Jak zainicjować tablicę nie znając jej długości ?

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
2

Nie możesz wstawić long do tablicy char, bo nie zgadzają się długości typów danych (i w ogóle same w sobie typy danych).

https://ideone.com/GCoGao

Poza tym Twój tab nie istnieje, bo masz jak na razie tylko niezainicjalizowany wskaźnik.

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

Mam longa i muszę go przedstawić w morsie. W takim razie w jaki inny sposób to można to zrobić?
Miałem plan, żeby dać go do chara i po kolei każdą liczbę do funkcji która zwraca liczbę w morsie.

Napisałem, że brakuje inicjalizacji tablicy bo nie wiem jaką wielkość trzeba dać

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
0

Jak zainicjować tablicę nie znając jej długości ?

Zastosować kontener np. vector albo zrobić tablicę dynamiczną za pomocą new czyli w tradycyjny sposób.
Funkcja snprintf zapewne wywala się, bo Twój bufor nie istnieje i wpisanie sizeof tab nie jest rozmiarem, o którego w tej funkcji chodzi.

http://www.cplusplus.com/reference/cstdio/snprintf/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.