Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Funkcije metode argumenti šta gdje ide i kako ?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Funkcije metode argumenti šta gdje ide i kako ?

[ Pregleda: 1998 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 354
62.4.55.*



+9 Profil

icon Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 16:52 - pre 77 meseci
Pozdrav forumaši,

u zadnje vrijeme sam pročitao par "jeftinih" pdf-ova iz low level C programiranja, odradio primjere, dodatne testove i td. ali sam naišao na problem prilikom nastavka učenja, jer ne mogu da odredim koji su mi sve argumenti potrebni u nekoj na pr. sistemskoj funkciji, ne znam kako se developeri odnose kada čitaju dokumentaciju o nekoj funkiciji, kako znaju šta im sve treba. Evo primjera

Hoću da napravim program koji će mi prikazati trenutno vrijeme/datum, kucam man time nije, probam man time2, t_time itd nema, ajde google mi kaže ctime valjda od current time e sad man mi daje prilično detaljan opis ali nema nigdje ono što mi treba neki primjer nešto korisno. Ajde opet google i nađem

Code:
char *ctime(const time_t *timer)


I sad mi nije jasno šta je pointer prije zagrade (char *ctime) a šta je pointer u zagradi (const time_t *time)? Ajde opet google i nađem primjer


Code:

#include <stdio.h>
#include <time.h>

int main () {
   time_t curtime;

   time(&curtime);

   printf("Current time = %s", ctime(&curtime));

   return(0);
}


E sad idem redom. Include <time.h> dobro, idemo sledeći kod "time_t curtime" mislim da je deklaracija da curtime bude time_t, ali ne znam šta je time_t ? Posle deklarišemo da je time memorijska lokacija od curtime ? I na kraju mi nije jasno zašto jedostavno ne ide prinf time nego ide ctime(&curtime) ?

Hvala na bilo kakvom pojašnjenju
Signaure Hamer Dev .inc
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 17:00 - pre 77 meseci
time_t je struktura čija se definicija nalazi u time.h
Strukturu ne možeš da ispišeš sa printf. ctime pretvara vrednost polja u strukturi time_t u alfanumerički niz koji je "čitljiv".

A ona pitanja sa pointerima je pokazatelj da baš ne znaš mnogo o C.
char *ctime(const time_t *timer)
znači da je ctime funkcija koja kao rezultat vraća pokazivač na niz znakova (char *) a da je argument funkcije pokazivač na strukturu time_t
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:18 - pre 77 meseci
Samo mala ispravka, nije pokazivač u argumentu na strukturu "time_t", već na strukturu "timer" koja je tipa "time_t" (analogno kao što bi za ugrađen tip podataka, npr. int, bilo (const int *a).
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p3-92.bvcom.net.



+1064 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:31 - pre 77 meseci
Kakva struktura timer? Pa time_t je typedef za obicni integer.... mada mislm da je typo, mislio si verovatno na curtime.

Inace vreme iz ctime se prikazuje f-jom strftime
Evo imam bas zgodan primer:

Code:

#include <time.h>
#include <stdio.h>

int main(void) {
    char buf[128];
    struct tm t;
    time_t tt;
    time(&tt);
    localtime_r(&tt,&t);
    strftime(buf,sizeof buf,"\%Y\%m\%d",&t);
    puts(buf);
}



edit: ah tek sad videh da ctime vraca string ;p
No toliko o tome kolko je cesto koristim ;p

[Ovu poruku je menjao Branimir Maksimovic dana 04.11.2017. u 20:46 GMT+1]
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:49 - pre 77 meseci
time_t može da bude int, može da bude long, može da bude i bilo šta drugo, zavisno od implementacije.
 
Odgovor na temu

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 354
62.4.55.*



+9 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 20:31 - pre 77 meseci
Citat:
djoka_l:
time_t je struktura čija se definicija nalazi u time.h
Strukturu ne možeš da ispišeš sa printf. ctime pretvara vrednost polja u strukturi time_t u alfanumerički niz koji je "čitljiv".

Zaista lijepo objašnjeno hvala
Citat:
djoka_l:
A ona pitanja sa pointerima je pokazatelj da baš ne znaš mnogo o C.

Znaš kako čitao sam eng verziju pa nisam uspio tačno i bukvalno da prevedem tehnikalije kao na pr da je char *ctime ustvari ime funkcije, pointer i da je tip char

Citat:
djoka_l:
char *ctime(const time_t *timer)
znači da je ctime funkcija koja kao rezultat vraća pokazivač na niz znakova (char *) a da je argument funkcije pokazivač na strukturu time_t


da sad mi je jasnije zaista ti hvala na vrhunskom objašnjenju, znam da tebi ovo izgleda trivijalno i da developeri mrze da pojašnjavaju ali nisam uspio naći valjano objašnjeno.
Signaure Hamer Dev .inc
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p3-92.bvcom.net.



+1064 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 21:27 - pre 77 meseci
Citat:
djoka_l:
time_t može da bude int, može da bude long, može da bude i bilo šta drugo, zavisno od implementacije.


Teoretski moze, ali prakticno posto f-ja time vraca broj sekundi od 1.1.1970 ilitu unix timestamp poznatije, tesko da moze biti bilo sta osim integera. Medjutim,
POSIX zahteva da bude integer.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Funkcije metode argumenti šta gdje ide i kako ?

[ Pregleda: 1998 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.