Wyświetlanie enum jako string

0

fprintf(wpt, "\n %3d %-15s %-20s %-12s %71d", i, bufor.procesor,
bufor.rozm_panel, bufor.cena, nazwy[(int)bufor.firma]);
wie ktos gdzie moge poczytac co oznacza linijka kodu: "\n %3d %-15s %-20s %-12s %71d", jest to zapis do pliku tekstowego ?

0

jest to zapis to pliku o uchwycie wpt. Opis kodów formatujących masz tutaj:
http://www.cppreference.com/stdio/printf.html

0

dzieki wielkie, a moze wiesz jeszcze jaka literke dac po % jak mam zdefiniowanego enum'a Marka {Asus, Acer,...} zeby mi sie to ladnie wyswietlalo ? ( probowalem s, ale nie dziala - sa jakies inne 'literki' ?)

0

Nie ma łatwo. enum przez printf jest traktowany jako liczba. Nic w tym dziwnego zresztą nie ma. Przypuszczam, że chcesz coś takiego:

enum Marka {
   Asus,
   Acer,
   //...
   EMarkaCount
   };
const char MarkaDesc[EMarkaCount][32] = {
  "Asus",
  "Acer"
  //...
  };

Marka value = Acer;
printf("%s", MarkaDesc[value]);

Jak ktoś zna lepszy sposób, to z przyjemnością zobaczę, bo jest to jedna z nielicznych konstrukcji, których nie cierpię, a czasem używam...

0

thx alot :) ale jakas poszlo z tym 's' - problem byl innego rodzaju :)

0

Na C się nie znam (jakoś za bardzo zawsze w Pascalu siedziałem i nie mogłem się przekonać, żeby w C pogrzebać - nie bijcie za to:P), ale chętnie dowiem się co to był za problem.

Poza tym - uważam, że dzielenie się rozwiązaniami jest bardzo dobrym nawykiem, może choć w małym stopniu unikniemy 54327589134751027509278932475189326793276802475 pytań o to samo bo 124 osób znajdzie odpowiedź na forum... :D

0
Ranides napisał(a)

Jak ktoś zna lepszy sposób, to z przyjemnością zobaczę, bo jest to jedna z nielicznych konstrukcji, których nie cierpię, a czasem używam...

np. tak:

#define _ENUM(a) a

#define ENUMS \
	_ENUM(Asus),	\
	_ENUM(Acer),	\
	_ENUM(HP)	\

enum Marka {
	ENUMS
};

#undef _ENUM
#define _ENUM(a) #a

const char MarkaDesc[100][32] = {
	ENUMS
};

Marka value = Acer;
printf("%s", MarkaDesc[value]);
0

A dziękuję, bo idea pomysłowa, i sądzę, że kilka raz wykorzystam, po dostosowaniu tego do własnych gustów (odrobina takiej tam kosmetyki) ;)

0

O kurde, hardcorowy kod - wymaga pomyślenia jak to działa :)

0

kod faktycznie hardkorowy, ten i więcej takich znajdują się w Perełkach Programowania Gier. Gorąco polecam, bo warto poznać tricki hardkorowców :)

wszystkie tricki mają cechę wspólną - zaskakująco prosto rozwiązują skomplikowane (wydawać by się mogło) problemy.

0

W sumie to mam tę książkę :) Ale jakoś nigdy się jej mocno nie przyglądałem [wstyd]

0
Marooned napisał(a)

W sumie to mam tę książkę :) Ale jakoś nigdy się jej mocno nie przyglądałem [wstyd]

hmm, to są pierwsze rozdziały.... [green]

0

nie taki hardcore'owy.. poza tym to nie kod, tylko sprytny preprocesor ;)

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