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: 1364 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 297
62.4.55.*



+7 Profil

icon Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 16:52 - pre 32 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: 2856



+1161 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 17:00 - pre 32 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: 1763



+518 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:18 - pre 32 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
Senior Software Engineer

Član broj: 64947
Poruke: 4425
*.bvcom.net.



+921 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:31 - pre 32 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]
press any key to continue or any other to quit....
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2856



+1161 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 19:49 - pre 32 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: 297
62.4.55.*



+7 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 20:31 - pre 32 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
Senior Software Engineer

Član broj: 64947
Poruke: 4425
*.bvcom.net.



+921 Profil

icon Re: Funkcije metode argumenti šta gdje ide i kako ?04.11.2017. u 21:27 - pre 32 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.

press any key to continue or any other to quit....
 
Odgovor na temu

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

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

Postavi temu Odgovori

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