انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: سید وحید رضا برهانی در 21 آبان 1387، 08:20 قظ
-
سلام
نمي دونم چه جوري مي گن لينوكس بهشت برنامه نويس هاست (ويندوز خيلي ساده تر بود!!بيخيال )
از عنوان معلوم كه :من مي خوام ساعت سيستم رو بگيرم بايد چيكار كنم والله قبلا" تو ويندوز يك فايلي بود به نام time.hكه تو لينوكس پيداش نكردم تو گوگل هم فقط تايمر پيدا ميشه نه زمان سيستم!!! ](*,) ](*,) >:(
-
عزیزم لینوکس بهشت برنامه نویسان کم حوصله نیست...
هدر مورد نیاز تو sys/time.h
توی این هدر دو تا تابع تعریف شده به اسم :
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv , const struct timezone *tz);
آرگومان های این توابع هم دو تا استراکچر هستن که به صورت زیر تعریف شدن:
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
و
struct timezone {
int tz_minuteswest; /* minutes west of Greenwich */
int tz_dsttime; /* type of DST correction */
};
خوب اگه نتونستی انجام بدی بگو برات یه نمونه بزارم...
-
سلام ممنون
من زيادي هم بي صبر نيستم ولي چه مي شه كرد (نو)جواني ديگه!!!(آخه من تو گوگل دنبال تايم مي گشتم كه گوگلم همش زمان ارسال مطالب رو مي آورد بعدش (دو سه روز بعد!!)گفتم برم time.h دنبال بگردم خيلي خوب بود چيزهاي جالبي يافتم)
-
با تشکر از یونس، عرض شود که همون time.h شما توی GCC هم موجود هست. نمیدونم توی ویندوز چه جوریه، ولی شکل استفادهٔ سادهاش توی GCC اینه:
#include <time.h> // Or in C++: #include <ctime>
...
time_t t = time(NULL);
که timestamp رو میده.
-
اینم برای تکمیل کار:
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char buffer[30];
int h;
struct timeval tv;
time_t curtime;
gettimeofday(&tv, NULL);
curtime=tv.tv_sec;
strftime(buffer,30,"%T",localtime(&curtime));
printf("%s\n",buffer);
return 0;
}
برای کامپایل:
gcc -o timeshow.o timeshow.c
./timeshow.o