Mala pomoc u c

1

Mala pomoc u c

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Pozdrav! Kako ovo da odradim, da cita iz fajla i ponovo definise MENU_TEXT_COLOR? Nesto sam pokusao ali sam pocetnik u c pa malo teze kontam, hvala puno!

#define MENU_TEXT_COLOR 000,191,255 void menu_text_color(void) {    char buf[12];    int fd;    ssize_t nbytes;    fd = open("/res/images/menu.txt", O_RDONLY);    if (fd >= 0) {       nbytes = read(fd, buf, sizeof(buf) - 1);       close(fd);       if (nbytes >= 0)          buf[nbytes] = '\0';       if (nbytes == 11) {          #undef MENU_TEXT_COLOR          #define MENU_TEXT_COLOR (char)strndup(buf, 3), (char)strndup(buf+4, 3), (char)strndup(buf+8, 3)       }    } }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • soxxx 
  • Prijatelj foruma
  • Pridružio: 25 Maj 2005
  • Poruke: 1482
  • Gde živiš: Gracanica, Kosovo

Imas gresaka, najbolje da prvo procitas malo, pocni ovde (pogledaj deo pod 12. Datoteke):

[Link mogu videti samo ulogovani korisnici]

Pa onda sledece dve stranice:

[Link mogu videti samo ulogovani korisnici]
[Link mogu videti samo ulogovani korisnici]

Tu imas navedene primere pravilnog otvaranja fajla, i pisanja/citanja iz njega.
Ako ti je problem engleski, onda baci pogled ovde na stranicu naseg kolege koji je vredno sakupio sve ovo:

[Link mogu videti samo ulogovani korisnici]



offline
  • Pridružio: 12 Okt 2010
  • Poruke: 10932

a,jel' ima nesto slicno za c++?

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Napisano: 21 Jan 2012 11:20

Hvala ti za tutorijale, super su! Mada i dalje trazim kako ovo da uradim:
define MENU_TEXT_COLOR (char)strndup(buf, 3), (char)strndup(buf+3, 3), (char)strndup(buf+6, 3)

Ne kontam dali MENU_TEXT_COLOR , koji je u stvari skup od 3 char r,g,b, dali mogu da ga izmenim kao na primer MENU_TEXT_COLOR[0][3] = "000"; MENU_TEXT_COLOR[1][3] = "191"; MENU_TEXT_COLOR [2][3] = "255";

ili sto najvaznije od svega, i sto hocu da naucim, a ne mogu nigde na netu da nadjem, kako da ponovo "define" u funkciji, konkretno u mom "dirty" primery? I ako ti nije problem da mi kazes gde imam gresku, mislis na ovo O_RDONLY ili?

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Kod sto si postavio u prvom postu je pogresan na mnogo nacina. Evo ti zamena:

typedef unsigned char byte; typedef struct {    byte r;    byte g;    byte b; }RGB_COLOR; RGB_COLOR MENU_TEXT_COLOR = { 0, 191, 255 }; void menu_text_color(void) {    const size_t buffer_sz = 12;    char buf[buffer_sz];    buf[buffer_sz - 1] = '\0';    int fd;    size_t nbytes;    fd = open("/res/images/menu.txt", O_RDONLY);         // ovde u zavisnosti koje vrednosti vraca open funkcija         // predpostavjam da je sve iznad 0 proslo dobro    if(fd > 0)    {       nbytes = read(fd, buf, buffer_sz);       close(fd);       if(nbytes > 0)       {          char* end;          MENU_TEXT_COLOR.r = strtoul(buf, &end, 10);          MENU_TEXT_COLOR.g = strtoul(end, &end, 10);          MENU_TEXT_COLOR.b = strtoul(end, 0, 10);       }    } }

Pod uslovom da je text fajl u formi:

Citat:
12 4 136


e sad, gde god bi pre koristio MENU_TEXT_COLOR, npr. umesto:

...color( MENU_TEXT_COLOR );

koristio bi ovako:

...color( MENU_TEXT_COLOR.r, MENU_TEXT_COLOR.g, MENU_TEXT_COLOR.b );

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Super ti je cod, hvala ti, samo nije poenta da menjam kompletan sourc i menjam svuda MENU_TEXT_COLOR da bi stavio MENU_TEXT_COLOR.r b g, poenta je u tome kao sto sam i pitao dali moze da se ponovo definise MENU_TEXT_COLOR unutar funkcije sa "#define" a da ne editujem celokupnan source?

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Ne mozes da menjas "define" onako kako si ga ti zamislio jer je to "compile time" konstanta, treba unapred da znas vrednosti.

Ovaj deo koda:
#define MENU_TEXT_COLOR 000,191,255
Da li si ti ovo definisao ili je u nekom "third party" kodu, odnosno deo je neke biblioteke koje koristis?

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

To je deo biblioteke a ja hocu da napravim mogucnost da "user" moze da menja boju fonta tim sto ce da doda fajl sa rgb vrednostima, a posto sourc koji radim nije public moram to da napravim nekako Smile
Ovde mozes da vidis o cemu se radi!

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Ufff, daj mi konkretan link gde mogu da skinem taj SDK da bi mogao da vidim biblioteku sa source kodom i dokumentacijom.

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Ok, [Link mogu videti samo ulogovani korisnici] to je fajl gde je definisan text_color a funkcija gr_color() izgleda ovako
void gr_color(unsigned char r, unsigned char g, unsigned char b, unsigned char a) {     GGLContext *gl = gr_context;     GGLint color[4];     color[0] = ((r << 8) | r) + 1;     color[1] = ((g << 8) | g) + 1;     color[2] = ((b << 8) | b) + 1;     color[3] = ((a << 8) | a) + 1;     gl->color4xv(gl, color); }
Poenta je u tome sto gledam nekako da napravim to da user moze da definise sam sebi boju fonta pomocu fajla a da ne menjam ovako vek kompliovan sourc!

Ko je trenutno na forumu
 

Ukupno su 1075 korisnika na forumu :: 123 registrovanih, 14 sakrivenih i 938 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 19602 - dana 30 Mar 2026 00:11

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 6footboy, A.R.Chafee.Jr., AleksandarV, AleksSE, amstel, Andrija357, avalon, avijacija, bigfoot, blatruc82, blues100, Bojcca, bokicacar, Borski1977, boxbole, BOXRR, ccoogg123, cekic, Coabelgrade, Colt D, comi, cyprus, darcaud, Darth Malak, Dejan_vw, Deki Duga Devetka, desmeki, Dimitrije Paunovic, divison, djole01, DJUNTA, dozorni, draganche.rs, draganl, dragoljub11987, DrNeoCortex, dukajov, Dungorth, Dusko_Dugousko, dzada, Dzoni70, Džekson, FOX, Fulcrum-A, Gargantua, goxin, Hans Gajger, HrcAk47, Igritelj, Ikica977, Ilija84, In_hero, ivan_8282, IvanM1984, jalos, Jeremiah, jodzula, Jomini, KizJ, Komanca, Kontrausluga, korin911, kovacicbozo, Krusarac, kuntakinte, lmn, Mane88, Marko Marković, markusx, marsi, MaschinenPistole, Mcdado, Medojed, mercedesamg, Mi lao shu, mikrimaus, mile.ilic75, milos.cbr, miodrag, Miškić, MK10, moldway, Muki 123, mux, nebidrag, Niki2024, Nmr, nobutado, pisac12, procesor, proka89, promajauglavi, Radoslava, rebro1974, sajorg, saputnik plavetnila, Shinobi, shlauf, Sinduk, singa, Solunac na steroidima, Srki98, Srky Boy, steksi, stokssone, tmanda323, tritonus, tubular, v0idmp3, Valter071, Vanderx, Velizar Laro, vensla, vidra boy, virked, Vlada1389, wizzardone, zajcev1, Zjmc, Zmajac, Zoran1959, Zorge, Đurđevdan