文件IO—在文件中每隔一秒写入当前时间
作业:设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。
/********************************************************************
*
* file name: 文件IO作业.md
* author: 15070884254@163.com
* date: 2024年5月9日
* function: 每隔一秒向logt.xt文本写入当前系统时间
* note: none
*
* CopyRight (c) 15070884254@163.com All Right Reseverd
*
********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
/*****************************************************************************
* 函数名称: UpdateFtime
* 函数功能: 输出当前时间
* 函数参数: FILE* file
* 返回结果: NONE
* 注意事项: NONE
* 函数作者: 15070884254@136.com
* 创建日期: 2024年5月9日
* 修改历史: 2024年5月9日
* 函数版本: 1.0
*
*****************************************************************************/
void UpdateFtime(FILE* file)
{
//通过已知time()函数获取时间
time_t Gettime = time(NULL);
//将秒时间转换为年月日等
struct tm * fileTime = localtime( &Gettime );
//把时间转换为格式“yy年mm月dd日 星期x tt:mm:ss”
fprintf(file,"%d年%d月%d日 星期%d %02d:%02d:%02d\n", fileTime->tm_year + 1900,
fileTime->tm_mon + 1,
fileTime->tm_mday,
fileTime->tm_wday,
fileTime->tm_hour,
fileTime->tm_min,
fileTime->tm_sec);
//进行刷新
fflush(file);
}
int main(int argc ,const char* arvg[])
{
int i = 0;
//判断传入的参数是否符合
if (2 != argc)
{
printf("Argument is invaild!\n");
exit(1);
}
//打开待写入文件(wb),如果文件不存在,wb+能够帮助创建
FILE *fp = fopen(argv[1],"wb+");
if (NULL == fp)
{
printf("Fopen %s is error!\n",argv[1]);
exit(1);
}
//循环写入
while(1){
UpdateFtime(file);
printf("program has run %d秒\n", i++);
//每隔一秒进行打印输出
sleep(1);
}
//关闭文件
fclose(file);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现