1.编写一个模拟时钟,在文件print.txt中每隔一秒进行打印一次。
累计打印次数,由另一个文件scanf.txt读入的数据确定。
提示:可以使用sleep(1) 进行延时1s ,头文件在<unistd.h>
#include <stdio.h>
#include <utime.h>
#include <time.h>
/*
1.编写一个模拟时钟,在文件print.txt中每隔一秒进行打印一次。
累计打印次数,由另一个文件scanf.txt读入的数据确定。
提示:可以使用sleep(1) 进行延时1s ,头文件在<unistd.h>
*/
void t_fmt(void)
{
FILE *fp=NULL;
fp=fopen("print.txt","w");
int i;
int m=0;
for(i=0;i<5;i++)
{
time_t t_abc;
time(&t_abc);
struct tm * tdata;
tdata=localtime(&t_abc);
char str_time[30];
size_t ret=strftime(str_time,20,"%Y-%m-%d %H:%M:%S",tdata);
fprintf(fp,"%s",str_time);
sleep(1);
m++;
fclose(fp);
fp=fopen("printf.txt","a");
printf("%s\n",str_time);
}
fp=fopen("scanf.txt","w");
fprintf(fp,"%d",m);
fclose(fp);
}
int main()
{
t_fmt();
return 0;
}
结果如下
2.
#include <stdio.h>
#include <utime.h>
#include <time.h>
int main()
{
time_t t1;
time_t ret;
ret=time(&t1);
// printf("%lld\n",ret);
printf("sec=%lld\n",t1);
clock_t t2;
struct tm t3;
//可以获取更精确的时间,例如毫秒,纳秒
struct timespec t4;
clock_gettime(CLOCK_REALTIME,&t4);
long long ms=t4.tv_sec*1000+t4.tv_nsec/1000000;
//毫秒
printf("ms=%lld\n",ms);
long long us=t4.tv_sec*1000000+t4.tv_nsec/1000;
//微秒
printf("us=%lld\n",us) ;
long long ns=t4.tv_sec*1000000000+t4.tv_nsec;
//纳秒
printf("ns=%lld\n",ns) ;
return 0;
}
结果如下