实验4 时间与文件

简介:


实验时间与文件

时间表示:

typedef long  time_t; // 实际上是一个32 位长整数

struct timeval{

time_t tv_sec;  //

suseconds_t  tv_usec; //微妙

}

获得时间:

#include <time.h>

time_t time(time_t  *t);返回时间为epoch 以来的秒数

返回值同时保存在参数所指向的变量中

例如

printf(“%u”,time(NULL));

毫秒数:

typdef long  clock_t

函数原型为clock_t clock(clock_t  *)

返回从epoch 以来的毫秒数

程序1

#include “stdio.h”

#include “stdlib.h”

#include “time.h”

int main(  void )

{

longi = 10000000L;

clock_t start, finish;

double duration;

/* 测量一个事件持续的时间*/

printf( "Time  to do %ld empty loops is ", i );

start = clock();

while( i--  ) ;

finish = clock();

duration =  (double)(finish - start) /CLOCKS_PER_SEC;

printf( "%f  seconds\n", duration );

system("pause");

}

休眠时间

Sleep 函数,括号内休眠的秒数

#include <unistd.h>

unsigned int  sleep(unsigned int seconds)


usleep(unsigned )

括号内为指定的微妙数

nanosleepconst sturct  timespec*, struct timespec *rem

其中第一个参数指定休眠时间,后面一个参数指定的实际休眠时间

例如程序

Struct timespec  req={.tv_sec=0, .tv_nsec=1000}

Struct time  spec rem;

nanosleep(&req,&rem);

间隔定时器

一旦到时间,就会发出信号,由信号处理程序来进行处理。

程序2

#include <stdio.h>

#include <unistd.h>

#include <signal.h>

#include <string.h>

#include <sys/time.h>

#include <errno.h>

void PrintMsg(int  Num)

{

printf("%s\n", "Hello World");

return;

}

int main(int  argc, char* argv[])

{

signal(SIGALRM, PrintMsg);

struct itimerval  tick;

tick.it_value.tv_sec  = 1; //十秒钟后将启动定时器

tick.it_value.tv_usec  = 0;

tick.it_interval.tv_sec  =1; //定时器启动后,每隔秒将执行相应的函数

tick.it_interval.tv_usec  = 0;

//setitimer  将触发SIGALRM 信号

int ret =  setitimer(ITIMER_REAL, &tick, NULL);

if ( ret !=  0)

{

printf("Set timer error. %s \n",  strerror(errno) );

return -1;

}

printf("Wait!\n");

getchar();

return 0;

}


程序求目前的时间,然后按照20XX XX XX 号星期XXX XX 秒来显示。XX

(要求利用localtime  函数来求)

提示先用time(NULL),求当前的秒数,用localtime  函数将当前秒数转换为struct tm 结构体

文件

如何把一个文件读入,显示到屏幕上?

#include <stdio.h>

int main()

{

int i;

int len;

char buf[1024];

FILE *fp=fopen("abc.txt","r");

len=fread(buf,sizeof(char),1024,fp);

for(i=0;i<len&&i<1024;i++)

printf("%c",buf[i]);

printf("\r\n");

fclose(fp);

}

10 Ctrl+C 就可以恢复缺省的处理方式:即默认退出(SIG_DEF)

上面的程序对与1024 个字节以内的文件是可以的,但是无法处理超过1024 字节的文件

可以利用一个while 循环将其逐次读入

#include <stdio.h>

int main()

{

int i;

int len;

char buf[1024];

FILE *fp=fopen("cyg.reg","r");

do

{

len=fread(buf,sizeof(char),1024,fp);

for(i=0;i<len&&i<1024;i++)printf("%c",buf[i]);

}while(len==1024);

printf("\r\n");

fclose(fp);

}

向某个指定文件写入26 个英文字母


#include <stdio.h>

int main()

{

int i;

int len;

char buf[26*3];

for(i=0;i<26;i++)

{

buf[i+26]='a'+i;

buf[i]= 'a'+i;

buf[i+52]='a'+i;

}

FILE *fp=fopen("write.txt","w+");

fwrite(buf,sizeof(char),26*3,fp);

fclose(fp);

}




本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1240340

相关文章
|
3月前
|
人工智能 IDE 开发工具
实验步骤
【8月更文挑战第22天】实验步骤。
85 1
|
6月前
|
编解码 容器
音视频学习之时间戳相关整理(时间基tbr,tbn,tbc)
音视频学习之时间戳相关整理(时间基tbr,tbn,tbc)
192 0
|
数据采集 Java
上机实验8 实现文件的复制访问
上机实验8 实现文件的复制访问
80 0
|
机器学习/深度学习 存储 PyTorch
512块A100,AlphaFold训练时间从11天压缩至67小时:尤洋团队FastFold上线
512块A100,AlphaFold训练时间从11天压缩至67小时:尤洋团队FastFold上线
222 0
|
算法 前端开发 芯片
[静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径
[静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径
[静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径
|
机器学习/深度学习 存储 监控
如何在 20 天内损坏一个模型? 一个生产环境模型分析教程(Evidently)(上)
假设您训练了一个预测模型,并将其发布到生产环境。 现在,您依靠它来做出业务决策。您必须维护、重新训练并密切关注您的模型。 它会出现什么问题,以及如何跟踪? 让我们来看一个例子。这是一个关于我们如何训练模型、模拟生产环境使用并分析其逐渐退化的故事。
|
机器学习/深度学习 监控 算法
如何在 20 天内损坏一个模型? 一个生产环境模型分析教程(Evidently)(下)
假设您训练了一个预测模型,并将其发布到生产环境。 现在,您依靠它来做出业务决策。您必须维护、重新训练并密切关注您的模型。 它会出现什么问题,以及如何跟踪? 让我们来看一个例子。这是一个关于我们如何训练模型、模拟生产环境使用并分析其逐渐退化的故事。
h0068. 实验 (15 分)
h0068. 实验 (15 分)
78 0
|
前端开发 Android开发
如何将时间改为显示:几天前,几小时前,或者几分钟前
http://www.oschina.net/question/657074_89320#tags_nav   如何将时间改为显示:几天前,几小时前,或者几分钟前  如这样的  最后发帖:2011-01-05 12:33 要改成这样怎么实现: 最后发表:  2分钟前 最后发表:  28秒前 最后...
1459 0