[Linux文件]每隔1秒将时间信息写入文件-创新互联
//这是一个在参数指定文件中连续写入当前时间的应用 //文件以1秒为时间间隔,将当前的时间写入文件,然后回车换行 //这是一个使用lseek在一个文件中连续写入字符串的应用 #include10年积累的成都网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有盐湖免费网站建设让你可以放心的选择与我们合作。#include #include #include int main(int argc,char *argv[]) { int temp,seektemp; //偏移量计算中间量 int fd; //文件描述符 char writebuf[50]; //写字符串缓冲区 struct timeval timenow,timeold; //时间变量 struct timezone timez; time_t timetemp; //时间结构体变量 int j = 0; int writeCounter = 0; //写入计数器 gettimeofday(&timeold,&timez); //取得一个时间信息作为参考时间信息 if(argc!= 2) //如果参数错误 { printf("Plz input the corrcet file name as './exam314ConWriteTimeFun filename string'!\n"); return 1; //如果参数不正确则退出 } fd = open(*(argv+1),O_RDWR|O_CREAT,S_IRWXU); //打开文件如果没有则创建 while(1) //进入主循环 { while(1) //1毫秒延时判断 { gettimeofday(&timenow,&timez); //获取当前时间参数 if((timenow.tv_sec - timeold.tv_sec) == 1) //如果到达一秒 { timeold = timenow; //更新保存的时间信息 break; //1秒时间到,退出 } } time(&timetemp); //获得当前时间参数 sprintf(writebuf,"%s",ctime(&timetemp)); //将当前时间参数放入写缓冲区 printf("%s",&writebuf); //在屏幕上打印单签writebuf的内容 if(writeCounter == 0) //第一次写入 { temp = write(fd,writebuf,strlen(writebuf)); //写入数据 seektemp = lseek(fd,0,SEEK_CUR); //获得当前的偏移量 writeCounter++; //写入计数器++ } else { j = strlen(writebuf) * writeCounter; //获得偏移量 seektemp = lseek(fd,j,SEEK_SET); temp = write(fd,writebuf,strlen(writebuf)); writeCounter++; } } close(fd); return 0; }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:[Linux文件]每隔1秒将时间信息写入文件-创新互联
本文链接:http://pwwzsj.com/article/dgsoeg.html